1. 题目

给定一个长度为 NC156 数组中只出现一次的数(其它数出现k次) 的整型数组 NC156 数组中只出现一次的数(其它数出现k次) 和一个整数 NC156 数组中只出现一次的数(其它数出现k次) 。

已知 NC156 数组中只出现一次的数(其它数出现k次) 中只有 1 个数出现一次,其他的数都出现 NC156 数组中只出现一次的数(其它数出现k次) 次。
请返回只出现了 1 次的数。
 
数据范围:
NC156 数组中只出现一次的数(其它数出现k次)
复杂度要求:
时间 NC156 数组中只出现一次的数(其它数出现k次)
空间 NC156 数组中只出现一次的数(其它数出现k次)

2. 示例

输入:[5,4,1,1,5,1,5], 3 
返回值:4

3. 题解

方法:位运算

所有转为二进制,然后对每一位相加。

对于每一位的和sum,如果sum%k==1,说明此位为目标数提供,然后把所有为1的加起来即可。

4. Code

 1 class Solution:
 2     def foundOnceNumber(self, arr, k):
 3         res = 0
 4         temp = [0] * 32
 5         for i in range(32):
 6             cur = 0
 7             for a in arr:
 8                 cur += (a >> i) & 1
 9             temp[i] = cur
10         for i in range(32):
11             if temp[i] % k != 0:
12                 if i == 31:
13                     res -= 1 << i
14                 else:
15                     res += 1 << i
16         return res

5. 结语

  努力去爱周围的每一个人,付出,不一定有收获,但是不付出就一定没有收获! 给街头卖艺的人零钱,不和深夜还在摆摊的小贩讨价还价。愿我的博客对你有所帮助(*^▽^*)(*^▽^*)!

  如果客官喜欢小生的园子,记得关注小生哟,小生会持续更新(#^.^#)(#^.^#)。

 

相关文章:

  • 2021-08-29
  • 2021-11-20
猜你喜欢
  • 2021-10-03
  • 2022-02-08
  • 2021-12-19
  • 2022-12-23
  • 2022-12-23
  • 2021-06-02
相关资源
相似解决方案