Example implementation of a prime factorization algorithm. A prime factorization algorithm will find for a given number `n`

a list of primes, such that if you multiply those primes you get `n`

. The below implementation will add `-1`

to the list of prime factors in case `n < 0`

. Note that there exists no prime factorization of `0`

, therefore the method below returns an empty list.

```
List<Integer> primeFactors(int n) {
List<Integer> factors = new ArrayList<>();
if (n < 0) {
factors.add(-1);
n *= -1;
}
for (int i = 2; i <= n / i; ++i) {
while (n % i == 0) {
factors.add(i);
n /= i ;
}
}
if (n > 1) {
factors.add(n);
}
return factors ;
}
```