mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-08 16:54:50 +08:00
Update 0474.一和零.md
This commit is contained in:
@ -161,7 +161,33 @@ public:
|
|||||||
|
|
||||||
|
|
||||||
Java:
|
Java:
|
||||||
|
```Java
|
||||||
|
class Solution {
|
||||||
|
public int findMaxForm(String[] strs, int m, int n) {
|
||||||
|
//dp[i][j]表示i个0和j个1时的最大子集
|
||||||
|
int[][] dp = new int[m + 1][n + 1];
|
||||||
|
int oneNum, zeroNum;
|
||||||
|
for (String str : strs) {
|
||||||
|
oneNum = 0;
|
||||||
|
zeroNum = 0;
|
||||||
|
for (char ch : str.toCharArray()) {
|
||||||
|
if (ch == '0') {
|
||||||
|
zeroNum++;
|
||||||
|
} else {
|
||||||
|
oneNum++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//倒序遍历
|
||||||
|
for (int i = m; i >= zeroNum; i--) {
|
||||||
|
for (int j = n; j >= oneNum; j--) {
|
||||||
|
dp[i][j] = Math.max(dp[i][j], dp[i - zeroNum][j - oneNum] + 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return dp[m][n];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
Python:
|
Python:
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user