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

上海人才网网址sem和seo的区别

上海人才网网址,sem和seo的区别,不用登录就能玩的游戏,使用html5的网站LeetCode 面试题 17.19. 消失的两个数字 思路🧐: 运用位运算,我们先创建一个变量tmp,依次异或nums和1~N所有整数,此时就可以得到两个数的异或值。 然后通过右移操作,逐位检查tmp中的每一位,找到…

LeetCode 面试题 17.19. 消失的两个数字

image-20250303192344510

思路🧐:

  运用位运算,我们先创建一个变量tmp,依次异或nums和1~N所有整数,此时就可以得到两个数的异或值。

  然后通过右移操作,逐位检查tmp中的每一位,找到第一个为1的位,用diff变量存储起来,表示两个数字的该位是不同的(一个为0,一个为1,异或以后必定为1)。

  由此我们可以分组,diff位为1的为一组,diff位为0的为一组,分别对这两组数字与nums进行异或操作,得到两个的数字。再将这两个数字与1~N异或起来,而nums中的数字一定会出现两次,则相同数字异或结果为0,最后就可以得到两个缺失的数字。

Pasted image 20250303105256

代码🔎:

class Solution {
public:vector<int> missingTwo(vector<int>& nums) {int tmp = 0;for(auto e : nums) tmp ^= e;for(int i = 1; i <= nums.size() + 2; i++)    tmp ^= i; //得到缺失数字的异或int diff = 0; //找到不同位while(1){if(((tmp >> diff) & 1) == 1) //如果该位为1,表示一个为0,一个为1,由此分组break;diff++;}int a = 0, b = 0; //由diff位是0是1进行分组for(auto e : nums)if(((e >> diff) & 1) == 1) a ^= e; // 该位为1,分到a组else b ^= e; //否则b组for(int i = 1; i <= nums.size() + 2; i++) // 与1~N所有数异或,也需要分组,不过此时相同的数异或为0,按照分组,最后得到两个缺失的数if(((i >> diff) & 1) == 1) a ^= i; // 该位为1,分到a组else b ^= i; //否则b组return {a,b};}
};

image-20250303193551997

http://www.dtcms.com/wzjs/446492.html

相关文章:

  • 可以做动画的网站有哪些百度手机卫士下载安装
  • 网站出现风险如何处理方法潍坊网站外包
  • 重庆网站建设公司是什么在线视频用什么网址
  • 网站建设开场白石家庄seo报价
  • 建设澳洲企业网站个人博客网站怎么做
  • 自己做一网站 多做宣传.seo公司费用
  • 做网站学cdr吗站长工具之家seo查询
  • wordpress 多站点 多域名品牌营销策略四种类型
  • 做鸡尾酒的网站怎样制作一个网站
  • 网站建设销售经理职责东莞seo推广机构帖子
  • 网站建设综合实训ppt模板西地那非片能延时多久有副作用吗
  • 小型网站项目策划书代运营一家店铺多少钱
  • 定制和订制有什么区别aso优化哪家好
  • 阿里云网站建设套餐搜狗官网
  • web网站设计公司站长工具服务器查询
  • 网站规划与设计一千字软文网站推广法
  • 专业品牌网站建设价格线上营销的方式
  • 龙湾网站建设it培训机构哪个好一点
  • 学校网站建立免费产品推广软件
  • 四川红叶建设有限公司网站怎么自己开网站
  • 高端网站制作公整站优化系统
  • icp网站备案流程互联网公司有哪些
  • 网站流量真难做手游推广代理平台有哪些
  • 哪个网站做的简历最好网站运营策划书范文
  • 怎么做淘宝客采集网站软文怎么写
  • 企业建设网站例文seo还能赚钱吗
  • 网站刷流量有什么用技能培训机构
  • 电子商务网站的建设的原理昆明seo网站管理
  • 网站建设公司自贡怎么做网络营销
  • 电商网站的建设案例不付费免费网站