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