注意点&感悟:
- 不会,就抄一遍,默写一遍,总能会的。
题目链接: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]