为了账号安全,请及时绑定邮箱和手机立即绑定

为什么使用“min()”会出现此语法错误?

为什么使用“min()”会出现此语法错误?

婷婷同学_ 2022-12-06 14:47:21
如果这个问题太简单了,首先抱歉。刚开始学习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 因为它是本地函数而不是类方法。


查看完整回答
反对 回复 2022-12-06
  • 1 回答
  • 0 关注
  • 82 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信