- def allMissing(nums): 
- 	result = [] 
- 	index = 0 
- 	while index < len(nums): 
- 		if nums[index] > 0 and nums[index] != index+1: 
- 			if nums[index] == nums[nums[index]-1]: 
- 				nums[index] = -1 
- 				index += 1 
- 			else: 
- 				nums[nums[index]-1], nums[index] = nums[index], nums[nums[index]-1] 
- 		else: 
- 			index += 1 
- 	for i in range(len(nums)): 
- 		if nums[i] < 0: 
- 			result.append(i+1) 
- 	return result 
-   
- print(allMissing([5,2,4,1,7,3,3])) 
- print(allMissing([5,2,1,2,7,3,3])) 
- print(allMissing([5,2,2,1,2,2,2])) 
- print(allMissing([1,1,1,1,1,1,7])) 
- print(allMissing([1,1])) 
				ZGVmIGFsbE1pc3NpbmcobnVtcyk6CglyZXN1bHQgPSBbXQoJaW5kZXggPSAwCgl3aGlsZSBpbmRleCA8IGxlbihudW1zKToKCQlpZiBudW1zW2luZGV4XSA+IDAgYW5kIG51bXNbaW5kZXhdICE9IGluZGV4KzE6CgkJCWlmIG51bXNbaW5kZXhdID09IG51bXNbbnVtc1tpbmRleF0tMV06CgkJCQludW1zW2luZGV4XSA9IC0xCgkJCQlpbmRleCArPSAxCgkJCWVsc2U6CgkJCQludW1zW251bXNbaW5kZXhdLTFdLCBudW1zW2luZGV4XSA9IG51bXNbaW5kZXhdLCBudW1zW251bXNbaW5kZXhdLTFdCgkJZWxzZToKCQkJaW5kZXggKz0gMQoJZm9yIGkgaW4gcmFuZ2UobGVuKG51bXMpKToKCQlpZiBudW1zW2ldIDwgMDoKCQkJcmVzdWx0LmFwcGVuZChpKzEpCglyZXR1cm4gcmVzdWx0CgpwcmludChhbGxNaXNzaW5nKFs1LDIsNCwxLDcsMywzXSkpCnByaW50KGFsbE1pc3NpbmcoWzUsMiwxLDIsNywzLDNdKSkKcHJpbnQoYWxsTWlzc2luZyhbNSwyLDIsMSwyLDIsMl0pKQpwcmludChhbGxNaXNzaW5nKFsxLDEsMSwxLDEsMSw3XSkpCnByaW50KGFsbE1pc3NpbmcoWzEsMV0pKQ==