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

杭州兼职网站建设网站关键字优化公司

杭州兼职网站建设,网站关键字优化公司,创手机网站,wordpress投票类主题题目 在一个数组 nums 中除一个数字只出现一次之外,其他数字都出现了三次。请找出那个只出现一次的数字。 思路 这题是剑指 Offer 56 - I. 数组中数字出现的次数的变体,本题只有一个数num出现一次,其余的均出现三次 三次的话使用异或消无法…

题目

在一个数组 nums 中除一个数字只出现一次之外,其他数字都出现了三次。请找出那个只出现一次的数字。

在这里插入图片描述

思路

这题是剑指 Offer 56 - I. 数组中数字出现的次数的变体,本题只有一个数num出现一次,其余的均出现三次

三次的话使用异或消无法消除,首先进行一个转换:

  1. 首先,将所有数字都看成 32位 的二进制数;
  2. 接着,将数组中的所有数字相加。那么,对于"某一位"来说,数值一定是 3N3N+1 (所有出现3次的数字对该位置的贡献,和一定是03,即要么全0要么全1,出现一次的数字对该位置的贡献,一定是01
  3. 所以,对该位置的和,用3取余,结果就是出现一次的数字在该位置的值(这种解法是具有通用性的,即出现4次、5次、N次,直接用4、5、N取余即可。)

在这里插入图片描述
java代码如下:

class Solution{public int singleNumber(int[] nums){int res = 0;for(int i = 0 ; i < 32; i++){//对于int每一位int bit = 0;//计算该位上的和for(int num : nums){bit += ((num >> i) & 1);//有0出0,全1出1}//对3取余即为res在该位上的值res += ((bit % 3) << i);//左移相当于乘i}return res;}
}
http://www.tj-hxxt.cn/news/56229.html

相关文章:

  • 哪里有网站可以做动态视频倒计时南宁seo怎么做优化团队
  • 已经注册了域名 怎么做网站上海百度研发中心
  • 做网站的是如何赚钱的网站seo优化教程
  • 廊坊做网站公司排名建站
  • 索莱宝做网站seo系统源码出售
  • 国内规模大的建站公司2022年新闻摘抄简短
  • 石家庄信息网官方网站西安专业seo
  • 做冰块批发网站搜索排名竞价
  • linux做网站服务器吗银川网站seo
  • 专门做奢侈品的网站海南网站推广
  • 做外贸兼职的网站设计适合推广的app有哪些
  • 做网站和网页区别淄博网站营销与推广
  • 免费crm软件排名下载班级优化大师
  • 惠州企业建站模板西安百度首页优化
  • 厦门网站做的比较好一站式网络推广服务
  • 没有公司自己做网站抖音广告代运营
  • 广告行业做网站哪个好网推一手单渠道
  • wordpress 企业展示哈尔滨seo网络推广
  • 给网站做h5缓存机制百度推广一年大概多少钱
  • 做的网站域名劫持seo服务外包
  • 专门做财经的网站免费网络推广方式
  • 网站做更改后台怎么做如何做网络推广人员
  • 做网站现在什么最赚钱吗公司营销策划方案案例
  • 关于网站建设的图片行业数据统计网站
  • 网站数据库如何备份seo网站推广报价
  • 苏州做网站费用广东深圳疫情最新情况
  • 5网站建站深圳网站seo推广
  • 有哪些网站制作公司内部优化
  • 北京网页设计设计培训seo技术
  • 怎么通过贷款网站找做贷款客户网站维护的内容有哪些