我正在处理这个问题https://leetcode.com/problems/climbing-stairs,得到一个错误“global name helper is not defined”。但它是在类中定义的?你知道吗
class Solution(object):
def climbStairs(self, n, ):
"""
:type n: int
:rtype: int
"""
return helper(0, n)
def helper(self, curr, n):
if (curr > n):
return 0
if (curr == n):
return 1
return helper(curr + 1, n) + helper(curr + 2, n)
helper
是Solution
实例的绑定函数,需要在self
上调用它。你知道吗根据较大输入上的超时错误,这是因为每次调用
helper
都要进行2次递归调用,这意味着运行时复杂性为O(2^N)
。你知道吗因为许多调用都具有相同的参数,所以可以使用^{} 缓存以前调用的结果,从而将其减少到
O(N)
您缺少helper的'self'参数,即将helper()替换为自助服务()应该是可行的。你知道吗
相关问题 更多 >
编程相关推荐