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

开源手机网站建站系统搜狐视频

开源手机网站建站系统,搜狐视频,什么是网页浏览器,儿童编程培训班只出现⼀次的数字 II(medium) 题⽬描述:解法(⽐特位计数):代码: 题⽬链接:137. 只出现⼀次的数字 II 题⽬描述: 给你⼀个整数数组 nums ,除某个元素仅出现 ⼀…

只出现⼀次的数字 II(medium)

  • 题⽬描述:
  • 解法(⽐特位计数):
  • 代码:

题⽬链接:137. 只出现⼀次的数字 II

题⽬描述:

给你⼀个整数数组 nums ,除某个元素仅出现 ⼀次 外,其余每个元素都恰出现 三次 。请你找出并返
回那个只出现了⼀次的元素。
你必须设计并实现线性时间复杂度的算法且不使⽤额外空间来解决此问题。
⽰例 1:
输⼊:nums = [2,2,3,2]
输出:3
⽰例 2:
输⼊:nums = [0,1,0,1,0,1,99]
输出:99
提⽰:
1 <= nums.length <= 3 * 104
-231 <= nums[i] <= 231 - 1
nums 中,除某个元素仅出现 ⼀次 外,其余每个元素都恰出现 三次

解法(⽐特位计数):

算法思路:
设要找的数位 ret 。
由于整个数组中,需要找的元素只出现了「⼀次」,其余的数都出现的「三次」,因此我们可以根据所有数的「某⼀个⽐特位」的总和 %3 的结果,快速定位到 ret 的「⼀个⽐特位上」的值是0 还是 1 。
这样,我们通过 ret 的每⼀个⽐特位上的值,就可以将 ret 给还原出来

代码:

class Solution{public int singleNumber(int[] nums) {int ret = 0;for(int i = 0; i < 32; i++){ // 依次修改 ret 中的每⼀个⽐特位int sum = 0;for(int x : nums) // 统计 nums 中所有的数的第 i 位的和if(((x >> i) & 1) == 1)sum++;sum %= 3;if(sum == 1) ret |= 1 << i;}return ret;}
}
http://www.dtcms.com/wzjs/99487.html

相关文章:

  • 新浪网站用什么语言做的南宁网站建设优化服务
  • 玉溪企业网站建设湖南网站建设seo
  • 品牌网站建设优化公司神秘网站
  • 建设网站需要几个文件夹宁德市区哪里好玩
  • wordpress版mibt电影站东莞产品网络推广
  • 成都网站建设市场分析seo挂机赚钱
  • 医药企业网站建设要哪些备案baidu优化
  • 闵行网站开发学电脑培训班
  • 网站流量和带宽百度搜索引擎推广怎么弄
  • wordpress附件详情seo搜索引擎营销工具
  • wordpress 可爱主题seo怎么做最佳
  • 排行网页游戏湖南有实力seo优化哪家好
  • 南宁两学一做网站珠海网络推广公司
  • 一级做a爰片香蕉视频网站网站优化外包公司
  • wordpress多媒体位置优化大师app下载
  • 黄村网站建设费用免费创建网站的平台
  • 乐清seo公司做网站seo推广公司
  • wordpress微信登录调用青岛网站关键词优化公司
  • 网站建设 软文发布自建网站
  • 哈尔滨发布信息的网站优化软件刷排名seo
  • 旅游网站的功能爱站网关键词挖掘机
  • 临沂医院网站建设安徽做网站公司哪家好
  • 做首图的网站安徽seo报价
  • 网站开发网页跳转到新的页面重庆电子商务网站seo
  • 环保网站主题中国国家培训网靠谱吗
  • 保亭交通工程建设局网站免费的外贸网站推广方法
  • h5视频直播怎样给自己的网站做优化
  • 网站做微信小程序号码南宁seo外包服务商
  • 辽源网站建设西安官网seo公司
  • 去哪找网站建设公司域名大全查询