Open youngyangyang04 opened 3 weeks ago
int[][] dp = new int[m + 1][n + 1];
for (String str : strs) {
int oneNum = 0, zeroNum = 0;
for (char c : str.toCharArray()) {
if (c == '0') zeroNum++;
else oneNum++;
}
for (int i = m; i - zeroNum >= 0; i--) {
for (int j = n; j - oneNum >= 0; j--) {
dp[i][j] = Math.max(dp[i][j], dp[i - zeroNum][j - oneNum] + 1);
}
}
}
return dp[m][n];
https://www.programmercarl.com/0474.%E4%B8%80%E5%92%8C%E9%9B%B6.html