class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param arr intvector
* @param k int
* @return int
*/
int foundOnceNumber(vector<int>& arr, int k) {
// write code here
int sum= 0;
for(int i = 31;i>=0;i--){//int型32位,外层循环32次
int cnt = 0;
for(int j=0;j<arr.size();j++){
cnt+=(arr[j]>>i)&1;//获得每个数字第i位的和O(n)
}
sum=2*sum+cnt%k;//其他数字都出现了k次,故余数是只出现一次的当前位,二进制转为十进制
}
return sum;
}
};
NC156 数组中只出现一次的数(其它数出现k次)
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
上一篇:NC14 按之字形顺序打印二叉树
下一篇:NC111 最大数
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
找出只出现一次的数
在数组中寻找只出现一次的数
数组 for循环 按位异或 -
找出数组中只出现一次的数字
算法
算法 leetcode 数据结构 哈希映射 数组 -
【数组9】数组中只出现一次的数字
题目描述一个整型数组里除了两个数字之
数组 i++ 返回结果 -
NC75 数组中只出现一次的两个数字
描述一个整型数组里除了两个数字只出现一次,其他的数字都出现了两次。请写程序找出这两个只出现一次的数,2,3,3,2.
leetcode 散列表 算法 整型 数组 -
只出现一次的数字
136. 只出现一次的数字给定一个非空整数数组,除了某个元素只出现一次以外
算法 leetcode 职场和发展 时间复杂度 空间复杂度