#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @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



京公网安备 11010502036488号