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

有什么网站济宁网页

有什么网站,济宁网页,中国网站建设中心,重庆最新网站备案个人主页:C忠实粉丝 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C忠实粉丝 原创 位运算(6)_只出现一次的数字 II 收录于专栏【经典算法练习】 本专栏旨在分享学习算法的一点学习笔记,欢迎大家在评论区交流讨论💌 目录 …

个人主页:C++忠实粉丝
欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C++忠实粉丝 原创

位运算(6)_只出现一次的数字 II

收录于专栏【经典算法练习】
本专栏旨在分享学习算法的一点学习笔记,欢迎大家在评论区交流讨论💌

目录

温馨提示:

1. 题目链接 :

2. 题目描述 :

3. 解法(位运算) :

    算法思路 :

    代码展示 :

    结果分析 :


温馨提示:

本文的算法题需要一些位运算知识的基础,如果大家还不是很了解的话,可以先去看下面的博客:
位运算(1)_常见位运算总结-CSDN博客

1. 题目链接 :

OJ链接: 只出现一次的数字 II

2. 题目描述 :

给你一个整数数组 nums ,除某个元素仅出现 一次 外,其余每个元素都恰出现 三次 。请你找出并返回那个只出现了一次的元素。

你必须设计并实现线性时间复杂度的算法且使用常数级空间来解决此问题。

(也就是时间复杂度为O(N),空间复杂度为O(1))

示例 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 中,除某个元素仅出现 一次 外,其余每个元素都恰出现 三次

3. 解法(位运算) :

    算法思路 :

设要找的数位ret.

由于整个数组中,需要找的元素只出现了[一次],其余的数都出现了三次,因此我们可以根据所有数的[某一个比特位]的总和%3的结果,快速定位到ret的[一个比特位上]的值是0还是1.

这样我们通过ret的每一个比特位上的值,就可以将ret给还原出来.

    代码展示 :

class Solution {
public:int singleNumber(vector<int>& nums) {int ret = 0;for(int i = 0; i < 32; i++){int sum = 0;for(auto ch : nums)if(((ch >> i) & 1) == 1) sum++;if(sum % 3) ret |= 1 << i;}return ret;}
};

    整体思路:
    位操作 : 利用位操作和位的统计方法来解决问题。每个数字都是由 32 位组成,遍历每一位并统计所有数字在该位上为 1 的次数。

    模运算 : 通过 sum % 3 来确定在这个位上是否只出现了一次的数字。如果该位的 1 的出现次数不为 3,则该位的值应该在结果中保留。

 

 

    结果分析 :

时间复杂度:

外层循环遍历 32 位:O(32), 也就是 O(1)。
内层循环遍历数组 nums,假设数组的长度为 n,则内层的复杂度为 O(n)。
总的时间复杂度为 O(n)。
空间复杂度 :

只使用了常数级别的额外空间(ret, sum, 和循环变量),所以空间复杂度为 O(1)。

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

相关文章:

  • net大规模网站开发视频重庆黄埔建设集团网站
  • 代替做网站推广wordpress财务会计系统
  • 做营销网站要多少钱现在c 做网站用什么框架
  • 企业网站建设杭州分销渠道系统
  • 成都住房和城乡建设局 网站首页seo深度解析
  • 网站建设俄语dw手机销售网站制作
  • 商丘网站制作教程wordpress建
  • 专门做游戏交易的网站公司网站设计与实现的英文文献
  • 自建营销型企业网站大城县企业网站建设
  • 用asp做网站题目苏州网站推广
  • 上海 网站建设业务营销方法网站建设用电脑
  • 做点阵纸的网站虚拟空间软件下载
  • 商城网站如何建设文交所网站开发
  • 酒店宾馆客栈旅馆古典网站源码 asp源码带后台工信部查询网站备案
  • 网站首页设计过程江苏省建设斤网站
  • 特色个人网站做网站广告收入
  • 自己动手制作网站崇文网站建设
  • python怎么做抢课网站做外贸网站好的公司
  • 宝安建设与住宅局网站做品牌形象网站
  • 国内外公司网站差异wordpress浏览统计
  • 奥地利网站后缀网站软件开发
  • 做推广又能做网站桂林互联网
  • 网站h标签wordpress 主题教程 水煮鱼
  • 怎么建设淘宝那样的网站企业网站报价方案模板
  • 网站建设 深圳宝安网站建设初步策划方案
  • 中建二局核电建设分公司网站网上有什么做兼职的网站
  • 建设银行手机银行网站用户名是什么如何维护网站的运营
  • 网站建设侵权行为有哪些app网站建设多少钱
  • 网站建设英文文献目录wordpress支持多少会员
  • 微信一键登录网站怎么做一个人做两个博客网站