如果这个问题太简单了,首先抱歉。刚开始学习Python。所以这是我的代码:class Solution: def minCostClimbingStairs(self, cost: List[int]) -> int: n = len(cost) m = [0] * n def dp(self, cost, m, i): dp1 = dp(cost, m, i - 1) + cost[i - 1] dp2 = dp(cost, m, i - 2) + cost[i - 2] return m[i] = min(dp1, dp2) return dp(cost, m, n)当我尝试运行它时,它SyntaxError: invalid syntax在代码行中告诉我return m[i] = min(dp1, dp2)=======> 反馈后修改class Solution: def minCostClimbingStairs(self, cost: List[int]) -> int: m = [0] * (len(cost) + 1) def dp(cost, m, i): if i <= 1: return 0 if m[i] > 0: return m[i] dp1 = dp(cost, m, i - 1) + cost[i - 1] dp2 = dp(cost, m, i - 2) + cost[i - 2] m[i] = min(dp1, dp2) return m[i] return dp(cost, m, len(cost))
1 回答
慕尼黑的夜晚无繁华
TA贡献1864条经验 获得超6个赞
与其他一些语言不同,您不能在 Python 中立即分配和返回变量。将那条线一分为二。
m[i] = min(dp1, dp2)
return m[i]
您不需要selfin dpfunction 因为它是本地函数而不是类方法。
添加回答
举报
0/150
提交
取消