R2-位运算专题.
目录
哈希表
位运算
ps:
一眼哈希表啊
哈希表
class Solution:def singleNumber(self, nums: List[int]) -> List[int]:dict=defaultdict(int)ret=[]for num in nums:dict[num]+=1for key in dict.keys():if dict[key]==1:ret.append(key)return ret
怎么用位运算做?
位运算
看看灵神的。
. - 力扣(LeetCode)
class Solution:def singleNumber(self, nums: List[int]) -> List[int]:xor_all=reduce(xor,nums)lowbit=xor_all & -xor_allret=[0,0]for num in nums:#分组异或ret[(num & lowbit)!=0]^=numreturn ret
异或运算就是快!
ps:
常见位运算技巧
python异或用法(nums是一个数组)
xor_all = reduce(xor, nums)
判断异或和某一位为1:
lowbit = xor_all & -xor_all
简直神了。