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

郑州 手机网站网站开发自学网

郑州 手机网站,网站开发自学网,昆明做网站,网站ui设计怎么做只出现一次的数字 I 本题依靠异或运算符的特性&#xff0c;两个相同数据异或等于0&#xff0c;数字与0异或为本身即可解答。代码如下: class Solution { public:int singleNumber(vector<int>& nums) {int ret 0;for (auto e : nums){ret ^ e;}return ret;} };只出…

只出现一次的数字 I

 本题依靠异或运算符的特性,两个相同数据异或等于0,数字与0异或为本身即可解答。代码如下:

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

 只出现一次的数字 II

 官方使用位运算题解代码如下:

class Solution {
public:int singleNumber(vector<int>& nums) {int ans = 0;for (int i = 0; i < 32; ++i) {int total = 0;for (int num: nums) {total += ((num >> i) & 1);}if (total % 3) {ans |= (1 << i);}}return ans;}
};

为什么可以这样实现呢?博主也是想了好久,现在解释原理:

  1. 若顺序表中的元素个数为奇数,那么一定有 2n 组出现 3 次的数和1个只出现一次的数组成,右移n位,由于出现 3 次的数是偶数个,那么与1进行与运算并相加后,必定为3的倍数,如果模3不等于0,只有一种可能:只出现一次的数为1使total不能被整除,说明只出现一次的数第 i 位为1,反之为0。
  2. 若顺序表中的元素个数为偶数,那么一定有2n + 1组出现三次的数和1个只出现一次的数组成,右移n位,由于出现 3 次的数是奇数个,那么与1进行与运算并相加后,必定为3的倍数,如果模 3 不等于 0 ,只有一种可能:只出现一次的数为1使total不能被整除,说明只出现一次的数第 i 位为1,反之为0。

 只出现一次的数字 III

本人选择了一个较为好理解的答案, 题解大神(灵茶山艾府)使用位运算题解代码如下: 

class Solution {
public:vector<int> singleNumber(vector<int>& nums) {// 负数在计算机是补码的形式存在// 无符号取负数就是取反加一unsigned int x = 0;for (auto e : nums){x ^= e;}int lowbit = x & -x;// 此方法可以算出最低比特位  vector<int> ans(2);for (auto f : nums){ans[(f & lowbit) != 0] ^= f;}return ans;}
};

 看完图之后是否理解得更加深刻了呢?个人觉得第二次遍历相当巧妙,下面看大佬给出的解释:

希望本篇文章对你有帮助,有问题请在评论区指正,感谢阅读。 

http://www.yayakq.cn/news/721599/

相关文章:

  • 江西网站开发联系方式优惠券的网站怎么做的
  • 做网站做百度竞价赚钱网站建设与推广王钊
  • 黄石网站制作公司网络维修
  • 广 做网站蓝光电影下载android上传wordpress
  • 公司管理系统网站韩国风格网站模板
  • 苏州市建设局网站专做专业课视频的网站
  • 2017年网站建设市场分析手机app微信网站建设
  • 网站快速排名优化价格seo关键词排名优化怎么样
  • 怎么攻击织梦网站孟州网站
  • 国外做网站卖东西要什么条件南宁网站设计推广
  • 做网站功能需要注意什么最大的做网站公司
  • 内网网站建设流程想建个企业网站
  • 如何建立公司网站模块wordpress资源购买插件
  • wordpress网站加载过慢张家港做网站收费标准
  • 网站托管费合肥房产网官网
  • 做1元夺宝网站挣钱吗新网站建设风格
  • 免费网站建设讯息郑州网站建设价位
  • 怎么用visual studio做网站精选网站建设排行榜
  • 企业网站制作建站公司wordpress建站教程费用
  • 宁波微信开发上海网站seo策划
  • 国外校园网站网站建设发展历程站长平台官网
  • 消费返利系统网站建设南京网站设计机构
  • 不限空间的免费网站企业网站需要注意什么
  • 网站维护是谁做的网络平台代理赚流水
  • 网站建设 科技公司网线的制作步骤
  • 网站建设宣传语泰安市景区建设网站
  • 优化网站服务wordpress博客评论删除
  • c 语言可以做网站吗简单电子商务网站开发
  • 长春seo整站优化湖北省城乡建设厅证书查询
  • WordPress网站登录邮件提醒照片素材库网站免费