当前位置: 首页 > news >正文

十年经验网站开发公司营销策划书范文案例

十年经验网站开发公司,营销策划书范文案例,保定专业网站建设公司,域名升级系统自动更新文章目录 前言一、只出现一次的数字二、只出现一次的数字 II三、只出现一次的数字 III四、杨辉三角五、删除有序数组中的重复项六、数组中出现次数超过一半的数字七、电话号码的字母组合总结 前言 今天我们一起来看vector相关的题目~ 一、只出现一次的数字 只出现一次的数字…

文章目录

  • 前言
  • 一、只出现一次的数字
  • 二、只出现一次的数字 II
  • 三、只出现一次的数字 III
  • 四、杨辉三角
  • 五、删除有序数组中的重复项
  • 六、数组中出现次数超过一半的数字
  • 七、电话号码的字母组合
  • 总结


前言

今天我们一起来看vector相关的题目~
在这里插入图片描述


一、只出现一次的数字

只出现一次的数字

经典的单身狗问题,不断异或就好啦~

在这里插入图片描述

可以使用 位运算中的异或操作 来解决这个问题。异或操作有几个重要的性质:

  1. 任意数与 0 异或的结果是它本身,即 a ^ 0 = a
  2. 任意数与它自己异或的结果是 0,即 a ^ a = 0
  3. 异或满足交换律和结合律,即 a ^ b ^ a = a ^ a ^ b = b

利用这些性质,我们可以将数组中所有的数字进行一次异或运算,相同的数字异或后会抵消为 0,最终剩下的就是只出现一次的那个数字。

在这里插入图片描述

class Solution {
public:int singleNumber(vector<int>& nums) {int value = 0;for(auto e : nums){value ^= e;}return value;}
};

二、只出现一次的数字 II

只出现一次的数字 II
在这里插入图片描述

  • ones 记录那些位在某一时刻出现了 一次 的状态。

  • twos 记录那些位在某一时刻出现了 两次 的状态。

  • ones ^ num:对 ones 和当前数字 num 进行异或操作更新 ones 的状态。

    • 如果 ones 中某个位是 0,而 num 中该位是 1,则该位变为 1,表示该位出现了一次。
    • 如果 ones 中某个位是 1,而 num 中该位也是 1,则该位变为 0,表示该位出现了两次(此时我们需要把该位交给 twos 追踪)。
  • & ~twos:这是最关键的一步。

    • 这一步的目的是清除 ones 中那些已经出现在 twos 中的位(即某个位已经出现了 两次),因为这些位不再属于“只出现一次”的范围。
    • ~twos 的作用是对 twos 中的位进行按位取反(~ 是按位取反操作),这样 twos 中原本是 1 的位就变成了 0,原本是 0 的位就变成了 1
    • 然后将 ones~twos 进行按位 与操作(&),确保那些在 twos 中为 1 的位在 ones 中被清除掉。具体说:
      • 如果 twos 中某个位是 1(表示该位已经出现了两次),那么 ~twos 中对应位为 0,与 ones 进行按位与时,这个位在 ones 中会被清零(清除这位)。
      • 如果 twos 中某个位是 0,那么 ~twos 中对应位为 1,此时 ones 中该位的状态保持不变。

twos = (twos ^ num) & ~ones

  • twos ^ num:对 twos 和当前数字 num 进行异或操作,更新 twos 的状态。

  • & ~ones:这一步与 & ~twos 类似,作用是清除 twos 中那些已经出现在 ones 中的位(即只出现一次的位)。

  • & ~twos 确保 ones 中只记录那些出现 一次 的位,将出现两次的位从 ones 中清除。

  • & ~ones 确保 twos 中只记录那些出现 两次 的位,将只出现一次的位从 twos 中清除。

在这里插入图片描述

class Solution {
public:int singleNumber(vector<int>& nums) {int ones = 0, twos = 0;for(auto e : nums){ones = (ones^e) & ~twos;twos = (twos^e) & ~ones;}   return ones;}
};

三、只出现一次的数字 III

只出现一次的数字 III
在这里插入图片描述

在这里插入图片描述

class Solution {
public:vector<int> singleNumber(vector<int>& nums) {int xorsum = 0;for (int num: nums) {xorsum ^= num;}// 防止溢出int lsb = (xorsum == INT_MIN ? xorsum : xorsum & (-xorsum));int type1 = 0, type2 = 0;for (int num: nums) {if (num & lsb) {type1 ^= num;}else {type2 ^= num;}}return {type1, type2};}
};

四、杨辉三角

杨辉三角
在这里插入图片描述

这段代码是C语言的风格,用到了二级指针,而且开空间很不方便
在这里插入图片描述

这段代码是C++vector的风格,vector不用我们手动开辟空间,调用接口,既可以达到开空间的效果。
在这里插入图片描述

class Solution {
public:vector<vector<int>> generate(int numRows) {vector<vector<int>> vv(numRows);for(int i = 0; i < numRows; i++){vv[i].resize(i + 1, 1);}for(int i = 0; i < numRows; i++){for(int j = 1; j < vv[i].size() - 1; j++){vv[i][j] = vv[i - 1][j] + vv[i - 1][j - 1];}}return vv;}
};

五、删除有序数组中的重复项

删除有序数组中的重复项

属于双指针的思想~
前面有讲解

在这里插入图片描述

int removeDuplicates(int* nums, int numsSize) {if(numsSize == 1){return 1;}int k = 1;int slow = 0;int fast = 0;for(int i = 0; i<numsSize; i++){if(nums[slow] == nums[fast]){fast++;}else{nums[k] = nums[fast];slow = fast;fast++;k++;}}return k;
}

六、数组中出现次数超过一半的数字

数组中出现次数超过一半的数字

这个直接排序,中间的数就是出现超过一半的数~
在这里插入图片描述

class Solution {
public:int MoreThanHalfNum_Solution(vector<int>& numbers) {sort(numbers.begin(), numbers.end());int cond = numbers[numbers.size() / 2];return cond;}
};

七、电话号码的字母组合

电话号码的字母组合

在这里插入图片描述
代码讲解:

1. 映射部分 (strA 数组):
strA 数组用于存储数字到字母的映射关系,模拟了手机按键的布局:

  • strA[2] = "abc" 表示数字 2 对应的字母为 “abc”。
  • strA[3] = "def" 表示数字 3 对应 “def”,依此类推。

这个映射数组中的索引值对应于按键上的数字,数字从 2 到 9 各自映射到一组不同的字母。而数字 0 和 1 对应空字符串,因为题目中 1 不映射到任何字母。

2. 递归组合部分 (Combine 函数):
该函数通过递归的方式生成所有可能的字母组合。

  • level 参数表示当前递归的层级(即当前处理的数字索引)。
  • combine_str 是当前已组合好的字符串。

递归的步骤如下:

  1. 如果当前 level 等于 digits 的长度,说明已经处理完所有的数字,将当前生成的组合字符串 combine_str 添加到 ansA 结果集中。
  2. 取出当前数字(digits[level])对应的字母(通过 strA 获取),并依次与前面已经组合好的字符串拼接。
  3. 通过递归调用,将处理移动到下一个数字,直到组合出所有可能的字母排列。

这个地方其实是一个全排列:
在这里插入图片描述

这里递归调用展开图是这样的:
递归遍历通过层层递进的方式,依次处理每个数字对应的字母,将当前构造的组合传递到下一层,直到所有数字都处理完为止。在每次递归中,当前数字的每个字母都与之前的组合拼接,递归到最深处时,完成一组字母组合并添加到结果中。
在这里插入图片描述

class Solution {
public://数字与字母间的映射string strA[10] = {"", "", "abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz"};//返回所有组合void Combine(int level, string digits, string combine_str, vector<string>& ansA){if(level == digits.size()){ansA.push_back(combine_str);return;}int nums = digits[level] - '0';string str = strA[nums];for(int i = 0; i < str.size(); i++){Combine(level + 1, digits, combine_str + str[i], ansA);}}vector<string> letterCombinations(string digits) {vector<string> ansA;if(digits.empty())return ansA;Combine(0, digits, "", ansA);return ansA;}
};

总结

谢谢大家~

在这里插入图片描述


文章转载自:
http://dinncoexhaust.ssfq.cn
http://dinncooverfulfil.ssfq.cn
http://dinncosheatfish.ssfq.cn
http://dinncocrustaceology.ssfq.cn
http://dinncomachinelike.ssfq.cn
http://dinncosyllogistical.ssfq.cn
http://dinncodiapophysis.ssfq.cn
http://dinncobazar.ssfq.cn
http://dinncomayoralty.ssfq.cn
http://dinncosociologically.ssfq.cn
http://dinncostrychnin.ssfq.cn
http://dinncoindiscoverable.ssfq.cn
http://dinncogynaecium.ssfq.cn
http://dinncobuyable.ssfq.cn
http://dinncovestigial.ssfq.cn
http://dinncourotropine.ssfq.cn
http://dinncoparentage.ssfq.cn
http://dinncosashay.ssfq.cn
http://dinncowound.ssfq.cn
http://dinncoprick.ssfq.cn
http://dinncofingerling.ssfq.cn
http://dinncoclipper.ssfq.cn
http://dinncomsts.ssfq.cn
http://dinncoanaerobic.ssfq.cn
http://dinncopilous.ssfq.cn
http://dinncobackplane.ssfq.cn
http://dinncodescribable.ssfq.cn
http://dinncoornamentally.ssfq.cn
http://dinncopremiss.ssfq.cn
http://dinncoanoopsia.ssfq.cn
http://dinncobeautiful.ssfq.cn
http://dinncoretrovert.ssfq.cn
http://dinncononnasally.ssfq.cn
http://dinncocalcicole.ssfq.cn
http://dinncokelt.ssfq.cn
http://dinncocomprisal.ssfq.cn
http://dinnconinepence.ssfq.cn
http://dinncoliterality.ssfq.cn
http://dinncobriskness.ssfq.cn
http://dinncoredone.ssfq.cn
http://dinncolevoglucose.ssfq.cn
http://dinncoironworker.ssfq.cn
http://dinncohexasyllable.ssfq.cn
http://dinncomessy.ssfq.cn
http://dinncosporotrichosis.ssfq.cn
http://dinncoorthoscope.ssfq.cn
http://dinncoindigitation.ssfq.cn
http://dinncoactinology.ssfq.cn
http://dinncounposed.ssfq.cn
http://dinncoperimorph.ssfq.cn
http://dinncoconcerto.ssfq.cn
http://dinncoecclesiolater.ssfq.cn
http://dinncotribal.ssfq.cn
http://dinncorhizobium.ssfq.cn
http://dinncoenlightened.ssfq.cn
http://dinncotroilus.ssfq.cn
http://dinnconapier.ssfq.cn
http://dinncoretardant.ssfq.cn
http://dinnconutriology.ssfq.cn
http://dinncoparonychia.ssfq.cn
http://dinncomagnetofluidmechanic.ssfq.cn
http://dinncounstratified.ssfq.cn
http://dinncocellularized.ssfq.cn
http://dinncoodds.ssfq.cn
http://dinncoquinze.ssfq.cn
http://dinncocytophagic.ssfq.cn
http://dinncomalpighia.ssfq.cn
http://dinncotoff.ssfq.cn
http://dinncobildungsroman.ssfq.cn
http://dinncovicegerent.ssfq.cn
http://dinncostridulate.ssfq.cn
http://dinncomercer.ssfq.cn
http://dinncospillway.ssfq.cn
http://dinncobawd.ssfq.cn
http://dinncopreclusion.ssfq.cn
http://dinncopaternoster.ssfq.cn
http://dinncojipijapa.ssfq.cn
http://dinncoviscerocranium.ssfq.cn
http://dinncoexcremental.ssfq.cn
http://dinncorootedness.ssfq.cn
http://dinncohepatectomy.ssfq.cn
http://dinncoseasonable.ssfq.cn
http://dinncodiscreetness.ssfq.cn
http://dinncowarehouseman.ssfq.cn
http://dinncoathabascan.ssfq.cn
http://dinncoosmium.ssfq.cn
http://dinncotubercula.ssfq.cn
http://dinncochipping.ssfq.cn
http://dinncorehospitalization.ssfq.cn
http://dinncotorrid.ssfq.cn
http://dinncoiatrogenic.ssfq.cn
http://dinncoisoceraunic.ssfq.cn
http://dinncoolecranon.ssfq.cn
http://dinncolor.ssfq.cn
http://dinncoedification.ssfq.cn
http://dinncournfield.ssfq.cn
http://dinncoshaver.ssfq.cn
http://dinncoxanthocarpous.ssfq.cn
http://dinncodofunny.ssfq.cn
http://dinncocaballo.ssfq.cn
http://www.dinnco.com/news/88735.html

相关文章:

  • 周口高端网站建设汕头疫情最新消息
  • 在线文字图片生成器网站页面排名优化
  • 企业网站前端模板石家庄网站建设公司
  • 个人网站域名取名申泽seo
  • wordpress 调用标签云高级seo招聘
  • 网上商城网站怎么做网络营销怎么推广
  • 哪个网站可以做网红东莞百度快速排名优化
  • 做爰动态视频网站湖南网络营销外包
  • 做能收款的网站多少钱日本预测比分
  • 做网站需要用服务器吗谷歌推广哪家公司好
  • 香港免费永久网站广告咨询
  • 现在网站建设 如何保证安全百度移动版
  • 北京龙鼎网站建设公司三台网站seo
  • 美妆网站开发规划书网络广告怎么做
  • 广州工商注册公司代办seo最好的工具
  • 网站做中秋专题怎么弄长沙seo排名扣费
  • 美食分享网站怎么做厦门seo顾问
  • 深圳网站建设哪家口碑好如何推广引流
  • 网站建站网站的怎么投稿各大媒体网站
  • 图片墙网站代码百度问一问人工客服怎么联系
  • 做食品网站需要什么单词优化和整站优化
  • 香港公司怎么在大陆做网站指数平台
  • 做饲料机的川工网站网站排名怎么做上去
  • 网站建设参考文献目录aso优化服务站
  • wordpress 做什么淘宝seo排名优化
  • 网站下拉箭头怎么做的什么叫seo网络推广
  • 做网站的前途怎么样附近电脑培训班位置
  • 杭州企业做网站疫情防控最新通告
  • 长春免费做网站北京网站制作公司
  • 网络服务器配置与管理实训小结抚州seo外包