474. Ones and Zeroes
程序员文章站
2022-06-02 14:33:49
...
474. Ones and Zeroes
1和0
题目:
给定若干个由0和1组成的字符串数组,现在限定使用m个0和n个1,每个0和1至多使用1次,问最多能组成多少个给定的字符串。
解题思路:
动态规划。
有点类似于0-1背包问题。
dp[i][j]表示有i个0和j个1时最多能组成的字符串的个数。
dp[i][j]=max(dp[i][j],dp[i-zeroes][j-ones]+1):zeroes、ones分别代表当前的字符串的0和1的个数。
代码:
class Solution
{
public int findMaxForm(String[] strs, int m, int n) {
if(strs==null || strs.length==0) return 0;
int dp[][]=new int[m+1][n+1];
for(String str:strs)
{
int zeroes=0,ones=0;
for(char ch:str.toCharArray())
{
if(ch=='0') ++zeroes;
else ++ones;
}
for(int i=m;i>=zeroes;i--)
{
for(int j=n;j>=ones;j--)
dp[i][j]=Math.max(dp[i][j], dp[i-zeroes][j-ones]+1);
}
}
return dp[m][n];
}
}
下一篇: 请问 匹配这段,正则应该如何写
推荐阅读
-
python Set Matrix Zeroes 题解
-
[Leetcode] 793. Preimage Size of Factorial Zeroes Function 解题报告
-
python 中的np.zeros()和np.ones()函数
-
ones刻录软件怎么安装?ones刻录软件安装图文教程
-
ones刻录软件怎么刻录视频?ones刻录dvd视频光盘图文教程
-
UVA 12063 Zeros and ones 一道需要好好体会的好题
-
A. Case of the Zeros and Ones
-
leetcode 474. Ones and Zeroes
-
LeetCode 474. Ones and Zeroes
-
[LeetCode] 二维背包问题 Ones and zeros 另含两种一维背包问题