复习回顾-动态规划算法-474. 一和零

注意点&感悟:

  • 不会,就抄一遍,默写一遍,总能会的。

题目链接:474. 一和零

自己默写的代码:

class Solution:
    def findMaxForm(self, strs: List[str], m: int, n: int) -> int:
        # 初始化
        # 外层 m个0, 内层n个1
        dp = [[0]*(n+1) for _ in range(m+1)]
        # 遍历物品
        for s in strs:
            zeros = s.count('0')    # m
            ones = s.count('1')     # n
            # 遍历背包,两个维度
            for i in range(m,zeros-1,-1):
                for j in range(n,ones-1,-1):
                    dp[i][j] = max(dp[i][j],dp[i-zeros][j-ones]+1)
        
        return dp[m][n]

通过截图:

posted @ 2024-02-28 09:59  o蹲蹲o  阅读(2)  评论(0编辑  收藏  举报