474. Ones and Zeroes
来源:互联网 发布:最新网络兼职信息 编辑:程序博客网 时间:2024/06/16 00:32
474. 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 and 1s will both not exceed 100
The size of given string array won’t exceed 600.
Example 1:
Input: Array = {“10”, “0001”, “111001”, “1”, “0”}, m = 5, n = 3
Output: 4
Explanation: 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 = 1
Output: 2
Explanation: You could form “10”, but then you’d have nothing left. Better form “0” and “1”.
题目要求一个字符串vector中能找够m个0,n个1的最多的字符串数。
用dp[i][j]表示,状态转移方程:
dp[i][j] = max(dp[i][j], dp[i - zeros][j - ones] + 1)
代码实现
class Solution {public: int findMaxForm(vector<string>& strs, int m, int n) { vector<vector<int>> dp(m + 1, vector<int>(n + 1, 0)); for (string str : strs) { int zeros = 0, ones = 0; for (char c : str) (c == '0') ? ++zeros : ++ones; 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]; }};
- 474. Ones and Zeroes
- 474. Ones and Zeroes
- 474. Ones and Zeroes
- 474. Ones and Zeroes
- 474. Ones and Zeroes
- 474. Ones and Zeroes
- 474. Ones and Zeroes
- 474. Ones and Zeroes
- 474. Ones and Zeroes
- 474. Ones and Zeroes
- 474. Ones and Zeroes
- 474. Ones and Zeroes
- 474. Ones and Zeroes
- 474. Ones and Zeroes
- 474. Ones and Zeroes
- 474. Ones and Zeroes
- 474. Ones and Zeroes
- 474. Ones and Zeroes
- OKHttp的单例模式
- iOS-Crash收集以及上传
- 使用Pyinstaller打包exe
- Java后台主动推送消息至Web页面(探讨、研究、琢磨)
- 一些自己总结的linux指令_20171205
- 474. Ones and Zeroes
- 位运算的与、或
- ucenter会员同步登录通信原理
- 在Android Studio使用Git实现版本管理(二):安装Git
- 国际化的locale类详解
- 二叉树中和为某一值的路径
- RN中有没有接触过字体样式不一样的时候,很简单就可以搞定
- Java设计模式百例
- Log4j.properties 属性详解以及 LOG4J日志级别详解