猿问

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

如果这个问题太简单了,首先抱歉。刚开始学习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))


婷婷同学_
浏览 194回答 1
1回答

慕尼黑的夜晚无繁华

与其他一些语言不同,您不能在 Python 中立即分配和返回变量。将那条线一分为二。m[i] = min(dp1, dp2)return m[i]您不需要selfin dpfunction 因为它是本地函数而不是类方法。
随时随地看视频慕课网APP

相关分类

Python
我要回答