请帮助我查找以下代码的时间复杂度:
我正在尝试查找针对Leetcode问题279开发的解决方案的时间复杂性。https://leetcode.com/problems/perfect-squares/
这是一个递归解决方案,我知道时间复杂度是指数级的,但是有人可以帮助我推导它吗?
def numSquares(self, n):
"""
:type n: int
:rtype: int
"""
if n == 0:
return 0
counts = []
lookup_values = [i * i for i in range(1, math.floor(math.sqrt(n)) + 1)]
for val in lookup_values:
counts.append(1 + self.numSquares(n - val))
return min(counts)