标签:solution res 判断 for blog def xrange 列表 一个
这道题为简单题
我的思路:定义一个列表ans并初始化,遍历列表nums,并把nums作为a的索引值,每次加1,最后列表生成器生成ans中==2的索引值
大神的:同样定义一个列表,遍历列表nums,并把x的绝对值-1作为nums索引值判断是否大于0,如果大于0那么就表示,这个数目前只出现一次同时nums[abs(x)-1] *= -1
,如果小于0那么表示这个数以前已经出现过,新列表中就添加这个数
我的:
1 class Solution(object): 2 def findDuplicates(self, nums): 3 """ 4 :type nums: List[int] 5 :rtype: List[int] 6 """ 7 ans = [0 for i in xrange(len(nums)+1)] 8 for i in nums: 9 ans[i] += 1 10 return [x for x in xrange(len(nums)+1) if ans[x] == 2]
大神:
1 class Solution(object): 2 def findDuplicates(self, nums): 3 """ 4 :type nums: List[int] 5 :rtype: List[int] 6 """ 7 res = [] 8 for x in nums: 9 if nums[abs(x)-1] < 0: 10 res.append(abs(x)) 11 else: 12 nums[abs(x)-1] *= -1 13 return res
Find All Duplicates in an Array
标签:solution res 判断 for blog def xrange 列表 一个
原文地址:http://www.cnblogs.com/liuxinzhi/p/7597611.html