fork(4) download
  1. def allMissing(nums):
  2. result = []
  3. index = 0
  4. while index < len(nums):
  5. if nums[index] > 0 and nums[index] != index+1:
  6. if nums[index] == nums[nums[index]-1]:
  7. nums[index] = -1
  8. index += 1
  9. else:
  10. nums[nums[index]-1], nums[index] = nums[index], nums[nums[index]-1]
  11. else:
  12. index += 1
  13. for i in range(len(nums)):
  14. if nums[i] < 0:
  15. result.append(i+1)
  16. return result
  17.  
  18. print(allMissing([5,2,4,1,7,3,3]))
  19. print(allMissing([5,2,1,2,7,3,3]))
  20. print(allMissing([5,2,2,1,2,2,2]))
  21. print(allMissing([1,1,1,1,1,1,7]))
  22. print(allMissing([1,1]))
Success #stdin #stdout 0.01s 7200KB
stdin
Standard input is empty
stdout
[6]
[4, 6]
[3, 4, 6, 7]
[2, 3, 4, 5, 6]
[2]