Ones and Zeroes
来源:互联网 发布:拿破仑 狮子 知乎 编辑:程序博客网 时间:2024/06/05 20:39
Ones and Zeroes
In the computer world, use restricted resource you have to generate maximum benefit is what we always want to pursue.
For now, suppose you are a dominator of m 0s
and n 1s
respectively. On the other hand, there is an array with strings consisting of only 0s
and 1s
.
Now your task is to find the maximum number of strings that you can form with given m 0s
and n 1s
. Each 0
and 1
can be used at most once.
Note:
- The given numbers of
0s
and1s
will both not exceed100
- The size of given string array won't exceed
600
.
Example 1:
Input: Array = {"10", "0001", "111001", "1", "0"}, m = 5, n = 3Output: 4Explanation: This are totally 4 strings can be formed by the using of 5 0s and 3 1s, which are “10,”0001”,”1”,”0”
Example 2:
Input: Array = {"10", "0", "1"}, m = 1, n = 1Output: 2Explanation: You could form "10", but then you'd have nothing left. Better form "0" and "1".解析:
动态规划,找到递推关系式:
dp[i][j]=max(dp[i][j],dp[i-zerosnum][j-onesnum]+1)
其中dp表示i个0和j个1最多能组成多少字符串,问题是每个字符串只能用一次,开始从0开始计算,这样会出现一个字符串重复利用的情况,所以要倒着计算,即从m和n开始循环计算dp[i][j].
代码:
class Solution {public: int findMaxForm(vector<string>& strs, int m, int n) { vector<vector<int>>dp(m+1,vector<int>(n+1,0)); dp[0][0]=0; for (int k=0; k<strs.size(); k++) { int zerosnum=0; int onesnum=0; for (int p=0; p<strs[k].size(); p++) { if (strs[k][p]=='0') { zerosnum++; } else { onesnum++; } } for (int i=m; i>=zerosnum; i--) { for (int j=n; j>=onesnum; j--) { dp[i][j]=max(dp[i-zerosnum][j-onesnum]+1,dp[i][j]); } } } return dp[m][n]; }};
0 0
- 474. Ones and Zeroes
- LeetCode: Ones and Zeroes
- Ones and Zeroes
- 474. Ones and Zeroes
- 474. Ones and Zeroes
- 474. Ones and Zeroes
- Ones and Zeroes
- 474. Ones and Zeroes
- 474. Ones and Zeroes
- 474. Ones and Zeroes
- [LeetCode] Ones and Zeroes
- 474. Ones and Zeroes
- 474. Ones and Zeroes
- 474. Ones and Zeroes
- 474. Ones and Zeroes
- Ones and Zeroes
- 474. Ones and Zeroes
- 474. Ones and Zeroes
- 自定义歌词视图
- NEERC 2014, Eastern subregional contest(汇总)
- 机器学习中的特征空间
- jsp页面中js和css引用相关
- redis安装与部署
- Ones and Zeroes
- 使用PCA对特征数据进行降维
- Android架构设计04-实体类转Json框架
- 从spring源码角度分析循环依赖bean的组装
- 拆分一个Excel文件为多个
- 安卓开发关于百度地图定位返回经纬度4.9E324参数 解决方案
- LB之Nginx
- 66-套接字超时(alarm)
- 机器学习-网络结构1