欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

137 Single Number II 数组中除了一个数外,其他的数都出现了三次,找出这个只出现一次的数...

发布时间:2025/4/16 编程问答 47 豆豆
生活随笔 收集整理的这篇文章主要介绍了 137 Single Number II 数组中除了一个数外,其他的数都出现了三次,找出这个只出现一次的数... 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

给定一个整型数组,除了一个元素只出现一次外,其余每个元素都出现了三次。求出那个只出现一次的数。
注意:
你的算法应该具有线性的时间复杂度。你能否不使用额外的内存来实现?
详见:https://leetcode.com/problems/single-number-ii/description/

Java实现:

建立一个32位的数组,来统计每一位上1出现的个数,如果某一位上为1的话,那么如果该整数出现了三次,对3去余为0,把每个数的对应位都加起来对3取余,最终剩下来的那个数就是单独的数字。

参考:https://www.cnblogs.com/springfor/p/3870863.html

https://www.cnblogs.com/grandyang/p/4263927.html

class Solution {public int singleNumber(int[] nums) {int res=0;for(int i=0;i<32;++i){int sum=0;for(int j=0;j<nums.length;++j){sum+=(nums[j]>>i)&1;}res+=(sum%3)<<i;}return res;} }

 

转载于:https://www.cnblogs.com/xidian2014/p/8724660.html

总结

以上是生活随笔为你收集整理的137 Single Number II 数组中除了一个数外,其他的数都出现了三次,找出这个只出现一次的数...的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。