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

购物网站的建设费用沪佳装修贵吗

购物网站的建设费用,沪佳装修贵吗,wordpress 图片站模板,重庆市建设工程信息网安全监督查询审题: 数组中除了答案元素只出现一次外,其他元素都会出现三次,我们需要找到并返回答案元素 思路: 由于现在会出现三次,所以利用异或运算符的方法就会失效。而所有数据都在32位二进制范围内,所以我们采用依次…

审题:

数组中除了答案元素只出现一次外,其他元素都会出现三次,我们需要找到并返回答案元素

思路:

由于现在会出现三次,所以利用异或运算符的方法就会失效。而所有数据都在32位二进制范围内,所以我们采用依次确定二进制位的方法来计算

方法:依次确定二进制位

对于只出现一次的数据,它的第i位二进制数可能是0或1.

对于出现三次的数据,它的第i位二进制数据可能是0/1,但是若将他们加起来就一定是3的倍数(0或3)

而如果我们对数组中所有元素第i位二进制数的和除以3并取余数就可得到答案第i位的二进制数,然后将这位给到答案上即可

解题:

外层循环:目的是进行不同位数答案的计算与赋值

内层循环:将nums数组所有元素的第i位(i从0开始)加起来给到total

if语句:当余数是1说明我们答案在当前位数的二进制数是1,需要把1给到答案的第i位

若余数不是1,说明我们答案在当前位数的二进制数是0,由于我们答案初始化为0(相当于32为二进制数都是0),所以0就不用我们去赋值了

关键代码:

1.如何得出第i位二进制数的值?

首先把数据右移i位,然后利用位与运算和1进行运算

因为1的前面31位都是0,所以不管e前面31位是多少,最后都会变成0。也就是需要比较的只有第32位,我们把第i位都移动到32位,如果该位大小为1,那么和1进行位与操作就可以得出结果为1,否则为0.这样就实能将对应位大小提取出来

2.如何将答案的第i位赋值为1?

首先把1左移i位,然后与答案进行位或运算

因为1左移i位后,其他位数都为0,位或操作的性质决定了我们不会改变答案的其他位的值。

此时因为答案第i位是0,而我们左移后的“1”的第i位是1了,根据位或性质,第i位运算出来就是1,又因为其他位不变,所以成功在答案其他位不变的情况下实现了赋值1

补充:

位与运算符:&

当两个二进制数对应位的值都是1,那么运算得出1,否则为0

eg:0011 & 1100 -》0000

位或运算符:|

当两个二进制数对应位的值有一个是1,那么就得出1,否则为0

eg:0011 & 1100 ——》1111

137. 只出现一次的数字 II - 力扣(LeetCode)

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

相关文章:

  • 用wordpress作下载站点常见网站架构
  • 徐州网站建设报价全国企业信息公示查询系统官网
  • firework做网站教程wordpress 分享可见
  • 怎么做动漫小广告视频网站济南网站制作培训班
  • 网站单个页面纯色直播
  • 网站建设 话术小广告治理
  • 如何线下宣传网站在车子男女做的视频网站
  • ppt做的比较好的网站有哪些什么网站可以做调查
  • 惠州网站建设米普可思一流的高密做网站的
  • 网站域名解析重复建设政务网站
  • 濮阳网站墓园网站建设价格
  • 网站开发 只要wordpress 编辑权限设置
  • 360建设网站免费国家信用信息公示系统查询入口
  • 浙江网站建设哪家权威广告设计网站
  • 中国建设银行个人登陆网站深圳网站制作大运软件小镇
  • 海拉尔网站制作网站自己维护
  • 长沙微网站免费ppt模板大全免费下载
  • 建设私人网站优化seo教程
  • 成都网站模板购买做网站都需要用到什么软件
  • 最近湘潭的新闻十大seo公司
  • 淘客类网站如何做排名设计一个网站先做哪些构造
  • 怎么做轴承网站大连 做网站
  • 建设网站用什么软件下载可以制作h5的网站
  • 临西网站建设电话如何开个微信公众号
  • 扬中网站建设要多少钱9377烈焰传奇手游官网
  • 泉州做网站企业什么网站可以做片头
  • 企业建网站的 程序常用的英文网站字体
  • 呼伦贝尔做网站的旅游网页设计模板免费
  • 向国外支付网站开发费海南网站建设制作
  • 万荣做网站wordpress 文章主题图