题解 | #数组中只出现一次的数(其它数出现k次)#
数组中只出现一次的数(其它数出现k次)
https://www.nowcoder.com/practice/5d3d74c3bf7f4e368e03096bb8857871
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param arr int整型一维数组
# @param k int整型
# @return int整型
#
class Solution:
def foundOnceNumber(self , arr: List[int], k: int) -> int:
out=[0 for _ in range(32)]
weight=1
for i in range(32):
cur=0
for num in arr:
if num&weight>0:
cur=cur+1
weight=weight<<1
cur=cur%k
out[31-i]=cur
s=0
weight=1
if out[0]==1:
for i in range(31,-1,-1):
s=s+(1-out[i])*weight
weight=weight<<1
s=-s-1
else:
for i in range(31,-1,-1):
s=s+out[i]*weight
weight=weight<<1
return s
360集团公司氛围 407人发布