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

关闭 百度云加速 后网站打不开了网站优化课程

关闭 百度云加速 后网站打不开了,网站优化课程,深圳哪家建设网站公司好,适合vue做的网站类型审题: 数组中除了答案元素只出现一次外,其他元素都会出现三次,我们需要找到并返回答案元素 思路: 由于现在会出现三次,所以利用异或运算符的方法就会失效。而所有数据都在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.yidumall.com/news/49941.html

相关文章:

  • 创业做社交网站有哪些hao123主页
  • 汕头企业建站系统aso优化吧
  • 呼市网站制作招聘郑州官网网站优化公司
  • 网络营销名词解释答案关键词排名优化易下拉软件
  • 四川省政府网站集约化建设精准网络营销推广
  • 做网站会什么武汉网站开发公司
  • 厦门做网站seo竞猜世界杯
  • 网站后台插件下载优化大师官网入口
  • wordpress用户注册邮件内容自定义深圳优化怎么做搜索
  • 合肥网站建设=388元seo百度排名优化
  • 如何做网站宣传百度seo简爱
  • 百度网站主要提供的服务推广平台收费标准
  • 用记事本做电影介绍的网站促销活动推广语言
  • 网站制作中搜索栏怎么做6seo还有前景吗
  • 蚌埠网站开发外包品牌营销案例
  • wordpress wpscan长沙建站seo公司
  • 枣庄联通网站备案网络营销策略
  • 网站导航条做多高衡阳百度推广公司
  • 网站建设投标书范本谷歌搜索引擎入口
  • 网站建设保密协议策划公司一般怎么收费
  • vps主机可以做几个网站seo优化的基本流程
  • 网站开发专业社会实践调研报告网盘app下载
  • 微信公众平台模板制作湖北seo推广
  • 杭州网站建设手机版今天重大新闻头条新闻
  • 软件定制与开发中国seo
  • 做宣传单用什么网站免费的电脑优化软件
  • 做h5页面的网站网络推广哪个平台好
  • flash 网站 模板企业营销网站
  • 上海金融网站制作网站制作公司好点击seo软件
  • 国内服务器做彩票网站安全吗免费建站系统官网