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

河南炒股配资网站开发辽宁人社app一直更新

河南炒股配资网站开发,辽宁人社app一直更新,阿里万网站建设,做房产网站赚钱吗137. 只出现一次的数字 II /* 该题有多种解题思路,比如:1. 统计每个数字出现的次数,然后找出只出现1次的数字,缺点:需要借助辅助空间2. 对数据进行排序,然后找出只出现1次的数字,缺点&#xff…

137. 只出现一次的数字 II

/*
该题有多种解题思路,比如:1. 统计每个数字出现的次数,然后找出只出现1次的数字,缺点:需要借助辅助空间2. 对数据进行排序,然后找出只出现1次的数字,缺点:时间复杂度不是O(N)
而题目要求了,时间复杂度必须为O(N)线性时间复杂度,因此便增加了题目的难度。题目说:只有一个数字出现一次,其余数字均出现3次,假设数组为{3,5,3,3}
通过分析可知:
3的二进制:0 0 0 0 0 0 1 1
5的二进制:0 0 0 0 0 1 0 1
3的二进制:0 0 0 0 0 0 1 1
3的二进制:0 0 0 0 0 0 1 10 0 0 0 0 1 3 4  二进制1的总数
对于出现3次的数字,各位出现的次数都是3的倍数,因此对统计的为1的比特总数%30 0 0 0 0 1 0 1 = 5结果就是只出现一次的数字
*/// 时间复杂度:O(32*N)--->O(N)  空间复杂度:O(1)
class Solution {
public:int singleNumber(vector<int>& nums) {int ans = 0;for (int i = 0; i < 32; ++i) {// 统计该每个数字第i个比特位为1的总数int total = 0;for (int num: nums) {total += ((num >> i) & 1);}// 如果total能够被3整除,说明只出现一次的数字在该位置上一定是0// 否则在该位置上一定是1if (total % 3) {ans |= (1 << i);}}return ans;}
};

该题还有更简单的解决方式,不过不太容易理解,请兴趣同学可以参考下底下处理方式:

https://leetcode.cn/problems/single-number-ii/solution/zhi-chu-xian-yi-ci-de-shu-zi-ii-by-leetc-23t6/

http://www.dtcms.com/wzjs/590429.html

相关文章:

  • 网站建设技术要求网站及备案
  • 怎么用flash做视频网站微网站开发第三方平台
  • 郑州高端网站建设淮安维度网站建设
  • wordpress资源站源码网站使用帮助
  • 个体户可以做网站么wordpress维护模式
  • 漂亮网站网页制作学情分析
  • 哈尔滨快速建站合作超级优化液
  • 洞口建设局网站平阳高端网站建设
  • 名城苏州网站朔州企业网站建设
  • 毕业答辩为什么做网站软件开发项目管理的核心
  • 河北建设工程招标投标协会网站怎么自己做网站挂到百度上
  • 公司做网站找谁公司做网站找谁怎么注册一个电商平台
  • 长沙网站推广工具外贸营销型网站设计
  • 网站的收费窗口怎么做动画设计技校
  • 网站logo是指网站开发时间进度
  • 整形网站 源码电子销售网站模板免费下载
  • 浙0577 icp网站建设做网站吉林
  • 三只松鼠商务网站建设目的网站开发 net
  • 昆明网站推广做网站需要多长时间
  • 门户网站建设询价公告做pc端网站价位
  • 个人网站不备案传世手游新开服网站
  • 徐州网站开发兼职北京今天新闻最新消息新闻
  • 网站栏目做跳转合肥百度推广排名优化
  • 做网站需要什么手续资料网站建设论文linux
  • 网站建设与规划论文上海短视频拍摄制作公司
  • 宜宾微信网站建设国内比较牛的网站建设
  • 怎么创建网站卖东西crm软件有哪些
  • 做网站一天能接多少单网站模板用什么做
  • cdn网站国外品牌网站
  • 网站推广的企业wordpress怎么建app