Link
Given an array of integers, 1 ≤ a[i] ≤ n (n = size of array), some elements appear twice and others appear once.
Find all the elements that appear twice in this array.
Could you do it without extra space and in $O(n)$ runtime?
Example:
1 2 3 4 5
|
Input: [4,3,2,7,8,2,3,1] Output: [2,3]
|
2. Analysis
3. Solution(s)
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
class (object): def findDuplicates(self, nums): """ :type nums: List[int] :rtype: List[int] """ res = list() for i in xrange(len(nums)): if nums[abs(nums[i])-1] > 0: nums[abs(nums[i])-1] *= -1 else: res.append(abs(nums[i])) return res
|
近期评论