//输出选了几个
//最多 有 m 个 0 和 n 个 1,背包最多能放几个
var findMaxForm = function(strs, m, n) {
//初始化
const dp = Array.from(Array(m+1), () => Array(n+1).fill(0))
let o
let l
//遍历每个元素
for(let str of strs){
//每次都要初始化
o=0
l=0
//获取每个字符串中的0和1的个数
for(let x of str){
if(x==='0'){
o++
}else{
l++
}
}
//遍历背包容量
for(let i=m;i>=o;i--){
for(let j=n;j>=l;j--){
//不装:dp[i][j]
//装了,容量减少,子集个数加1
dp[i][j]=Math.max(dp[i][j],dp[i-o][j-l]+1)
}
}
}
return dp[m][n]
};
474. 一和零(JavaScript)
最新推荐文章于 2024-08-23 01:05:03 发布