diff --git a/474. Ones and Zeroes b/474. Ones and Zeroes new file mode 100644 index 0000000..f116247 --- /dev/null +++ b/474. Ones and Zeroes @@ -0,0 +1,18 @@ +class Solution { +public: + int findMaxForm(vector& strs, int m, int n) { + vector> dp(m + 1, vector(n + 1, 0)); + + for (string& s : strs) { + int zeros = count(s.begin(), s.end(), '0'); + int ones = s.size() - zeros; + for (int i = m; i >= zeros; --i) { + for (int j = n; j >= ones; --j) { + dp[i][j] = max(dp[i][j], dp[i - zeros][j - ones] + 1); + } + } + } + + return dp[m][n]; + } +};