python 单个数字问题

来源:互联网 发布:淘宝店铺类目在哪里 编辑:程序博客网 时间:2024/05/29 07:08

python 单个数字问题

==>给定一个数组,每个数字会出现两次,尤其只有一个是单次的。
要求:时间复杂度O(n)

方法一:进行异或操作,相同的数异或为0;空间复杂度为O(1)

class Solution(object):    def singleNumber(self, nums):        """        :type nums: List[int]        :rtype: int        """        xor_num        for i in nums:            xor_num^=i#异或        return xor_num 

方法二:集合操作,集合不包括重复变量;空间复杂度为O(n)

class Solution(object):    def singleNumber(self, nums):        return 2*sum(set(list2))-sum(list1)) 
原创粉丝点击