题解 | #数组中只出现一次的数(其它数出现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