137. Single Number II——问题是查找,本质是hash查找,只是记录的是32 bit中各个位出现次数而已
Given an array of integers, every element appears three times except for one. Find that single one.
Note:
Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory?
class Solution(object): def singleNumber(self, nums): """ :type nums: List[int] :rtype: int """ ans = 0 for i in range(32): mask = 1 << i cnt = 0 for num in nums: if mask & num: cnt += 1 if cnt % 3: if i == 31: ans = -(1<<31) + ans else: ans = ans | mask return ans