题目很简单,就是数字数组中除了一个数字,其他都是出现两次的,问怎么找到这个只出现一次的。
思路是使用一个集合,遍历给定数组,
如果当前数字不在集合中,就把它加入集合,这意味着第一次遇到该数字。
如果当前数字在集合中,就把他从集合中删除,这意味着第二次遇到该数字,因为只有一个出现一次的数组,所以遍历结束集合中还剩一个数字,即为所求。
代码:
class Solution:
def singleNumber(self,A):
ss=set()
for int_ in A:
if int_ in ss:
ss.discard(int_)
else:
ss.add(int_)
return ss.pop()