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
本文转自张昺华-sky博客园博客,原文链接:http://www.cnblogs.com/bonelee/p/6243209.html,如需转载请自行联系原作者