[
math
recursion
]
BinarySearch 0229 Prime Factorization
Problem statement
https://binarysearch.com/problems/Prime-Factorization/
Solution
Just check all numbers before square root of n
and continue with recursion.
Complexity
It is O(sqrt(n))
for time and O(log^2n)
for space, because we can have O(log n)
answer, which we extend by one on each iteration.
Code
class Solution:
def solve(self, n):
for i in range(2, int(sqrt(n)) + 1):
if n % i == 0:
return [i] + self.solve(n//i)
return [n]