如果這個問題太簡單了,首先抱歉。剛開始學習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
提交
取消