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

网站建设成本预测表织梦技术个人网站模板下载

网站建设成本预测表,织梦技术个人网站模板下载,wordpress主题信息,邓州网站建设只出现一次的数字 这道题目是要找出只出现一次的数字,其他数字都会出现两次 C语言可以直接用的位运算有按位与(&),按位或(|),按位异或(^) 这道题用到的是按位异或 先讲一下按位异或: 对于两个二进制数,相同为0…

只出现一次的数字 

 这道题目是要找出只出现一次的数字,其他数字都会出现两次

C语言可以直接用的位运算有按位与(&),按位或(|),按位异或(^)

这道题用到的是按位异或

先讲一下按位异或:

 对于两个二进制数,相同为0,不同为1,上图中前两位是不同的,所以只有前两位为1,后三位都为1,所以这两个数按位异或的结果就是00011,即3

 那两个相同的数按位异或的结果就是0

而0和任何数异或都会是另一个数

我们可以利用这个特性,来把所有的数都异或一遍,最后的结果就是单独的那个数了(相同的都变成0了,0和任何数异或都会是另一个数)

本题代码:

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

只出现一次的数字II

本题和上题的唯一区别就是从出现两次变成了三次,那肯定不能再用按位异或了,这样异或出来的结果完全没有任何意义

但这一题还是考的位运算操作

先来讲讲按位与和按位或

按位与是双方位都为1才是1,按位或只需要双方有1个为1就是1

思路:

 因为除了那一个数,其他数都出现三次,可以先用按位与来遍历每一个数,用一个[32]的数组把每一个位中的1都统计起来,只要有一位的1的个数不是3的倍数,那多出来的1就是多余的那个数的

具体实现: 

class Solution {
public:int singleNumber(vector<int>& nums) {int er[32]={0};for(auto e : nums){for(int i=0;i<32;i++){if(e&(1<<i))//如果第i位是1{er[i]++;//那么第i位++}}}int p=0;for(int i = 0;i<32;i++){if(er[i]%3 != 0)//如果这一位1的个数不是3的倍数,那多出来的那个1就是属于只出现一次的数的{p |= (1<<i);//将p的第i位置成1}}return p;}
};

只出现一次的数字III

 该题和第一题的区别是只出现一次的数字从1个变成了2个,那有没有什么办法可以将它转换成2个第一题呢?

可以确定的是,这两个只出现一次的数不是一样的,如果将这全部的数都异或,最后是两个只出现一次的数异或的结果,我们就可以通过这个结果来给它分组

具体实现: 

class Solution {
public:vector<int> singleNumber(vector<int>& nums) {int num=0;for(auto e : nums)//将所有数都异或一遍,得到的结果就是只出现一次的那两个数异或的结果{num^=e;}int i;for(i=0;i<32;i++)//判断这个结果的哪一位是1,只要是1就代表这两个数的这一位不同{if(num & (1 << i))//不同就跳出break;}int num1=0,num2=0;for(auto e : nums)//然后根据这个不同的位来对这些数据分组,这样这两个只出现一次的数就被分到两组了{if(e & (1 << i))num1 ^= e;//就化解成了问题1了elsenum2 ^= e;}vector<int> v;v.push_back(num1);v.push_back(num2);return v;}
};
http://www.dtcms.com/wzjs/840225.html

相关文章:

  • 中山网站建设乐云seo模板中心专利申请
  • 嘉兴seo网站排名国家建筑网官网
  • 网站开发协议短视频营销的优势有哪些
  • 秦皇岛市 网站建设pc网站建设
  • 外贸商城网站制作公司莱芜雪野湖别墅
  • 东莞广告公司有哪些网站建设优化开发公司排名
  • 开发一个网站多少钱?广州优化网站
  • 传统网站模版网页制作的基本步骤流程
  • wordpress区块链导航类网站大连手机自适应网站建设
  • 网站优化预算武进网站建设多少钱
  • 做网站的管理员咋找wordpress文章excerpt字数
  • 网站登录设计欣赏申请做网站编辑组长的工作设想
  • 做设计及免费素材网站有哪些wordpress手机悬浮
  • 收费用的网站怎么做wordpress 课程系统
  • 企业网站能自己建设吗佛山市seo网站设计工具
  • 丝路建设网站网站怎么看好与不好
  • 阿里去可以做几个网站网络商城的推广方法
  • 电商网站上信息资源的特点包括建网站服务器
  • 微信做网站的公司做网站在手机端预览乱码了
  • 深圳营销型网站建设免费wordpress还是shpify
  • 有什么好用的模拟建站软件百度的广告
  • 北京怎样做企业网站山东网站app制作
  • 电话销售做网站犯法吗个人网页设计作品下载
  • 做外贸网站需要请外贸文员吗投资公司收到分红要交什么税
  • 谈谈你对网站开发的理解微网站建设及微信推广方案ppt模板
  • 北京商城网站建设报价注册公司步骤
  • 怎么做 niche网站做营销型网站公司
  • 备案 个人网站建设方案书建筑工人找活的平台app
  • 专业网站定制价格便宜wordpress适合建什么网站
  • 5年网站seo优化公司徐州app定制开发