474. Ones and Zeroes
来源:互联网 发布:淘宝达人申请直播入口 编辑:程序博客网 时间:2024/06/09 21:46
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解题。动规原则是这个1或者0用不用,状态数组初始化为dp[m+1][n+1]。遍历每一个字符串,比较每一个dp[i][j]和dp[i - countZero][j - countOne]+1的大小。代码如下:
public class Solution { public int findMaxForm(String[] strs, int m, int n) { int[][] res = new int[m + 1][n + 1]; for (String str: strs) { int countZero = 0, countOne = 0; for (char ch :str.toCharArray()) { if (ch == '1') { countOne ++; } else { countZero ++; } } for (int i = m; i >= countZero; i --) { for (int j = n; j >= countOne; j --) { res[i][j] = Math.max(res[i][j], res[i - countZero][j - countOne] + 1); } } } return res[m][n]; }}
0 0
- 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
- Linux:守护进程解析、如何实现守护进程
- Linux:守护进程详解及实现
- Shiro+SpringMVC
- LeetCode 25. Reverse Nodes in k-Group
- Python练习题目2
- 474. Ones and Zeroes
- 菜鸟速成记-IDL语法基础
- 2015年书单
- 2016年书单
- Android中的资源
- 在Android studio 里面通过Open Module Settings还是没办法彻底删除项目。
- C程序设计语言_vim小技巧
- Python语言文件基础--Python(18)
- mac brew install node 安装总是版本不对