本文主要是介绍2021-03-10(474. 一和零),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
这道题和经典的背包问题很类似。这句话是精髓。每个字符串只能使用一次(即有限背包)这个知识点也要加固了
class Solution {public int findMaxForm(String[] strs, int m, int n) {int[][] dp=new int[m+1][n+1];for(int p=0;p<strs.length;p++){int zero=0,one=0;for(int k=0;k<strs[p].length();k++){if(strs[p].charAt(k)=='0'){++zero;}else{++one;}}for(int i=m;i>=zero;--i){for(int j=n;j>=one;--j){dp[i][j]=Math.max(1+dp[i-zero][j-one],dp[i][j]);}}}return dp[m][n];}
}
这篇关于2021-03-10(474. 一和零)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!