Given an array (a list in Python) of integers and an integer `n`, find all occurrences of `n` in the given array and return another array containing all the index positions of `n` in the given array.

If `n` is not in the given array, return an empty array `[]`.

Assume that `n` and all values in the given array will always be integers.

Example:
```python
find_all([6, 9, 3, 4, 3, 82, 11], 3)
> [2, 4]
```

Difficulty: introductory

Starter code:

def find_all(array, n):
	

Solutions:
def find_all(array, n):
    return [index for index, item in enumerate(array) if item == n]

def find_all(array, n):
    res = []
    for i in range(len(array)):
        if array[i] == n:
            res.append(i)
    return res

def find_all(array, n):
    return [ i for i,v in enumerate(array) if v==n ]

def find_all(array, n):
    return [i for i,x in enumerate(array) if x == n]

def find_all(array, n):
  return [i for i in range(len(array)) if array[i] == n]

def find_all(array, n):
    return [i[0] for i in enumerate(array) if i[1]==n]

def find_all(array, n):
    l = []
    for i,v in enumerate(array):
        if v == n:
            l.append(i)
    return l        

import numpy as np

def find_all(array, n):
    return list(np.where(np.array(array) == n)[0])

def find_all(array, n):
    return [pos for pos, number in enumerate(array) if number == n]

def find_all(array, n):
    return [i for i, number in enumerate(array) if number == n]