## The challenge

Given an array of integers where 1 ≤ a[i] ≤ *n* (*n* = size of array), some elements appear twice and others appear once.

Find all the elements of [1, *n*] inclusive that do not appear in this array.

Could you do it without extra space and in O(*n*) runtime? You may assume the returned list does not count as extra space.

**Example:**

Input:[4,3,2,7,8,2,3,1]Output:[5,6]

## The solution

```
class Solution:
# our method
def findDisappearedNumbers(self, nums: List[int]) -> List[int]:
# get the length / amount of items
l=len(nums)
# create a `set` to remove duplicates
nums=set(nums)
# create a new array to return
d=[]
# loop through the amount of items in the input array
for i in range(1,l+1):
# if the item is not in the input list
if i not in nums:
# add it to the return list
d.append(i)
# return the new array
return d
```