如何找到以下代码的时间复杂度?

时间:2019-08-25 22:00:29

标签: python algorithm time-complexity big-o code-complexity

请帮助我查找以下代码的时间复杂度:

我正在尝试查找针对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)

0 个答案:

没有答案