474. Ones and Zeroes
Given an array, strs, with strings consisting of only 0s and 1s. Also two integers m and n.
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.
Example 1:
Input: strs = ["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: strs = ["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".
Constraints:
1 <= strs.length <= 600
1 <= strs[i].length <= 100
strs[i] consists only of digits '0' and '1'.
1 <= m, n <= 100
來源:力扣(LeetCode)
連結:https://leetcode-cn.com/problems/ones-and-zeroes
著作權歸領釦網路所有。商業轉載請聯絡官方授權,非商業轉載請註明出處。
動態規劃,dp[i][j]表示i個0和j個1最多能放多少個字串。
因為字串只能用一次,所以i和j從大到小遍歷。
class Solution {
public int findMaxForm(String[] strs, int m, int n) {
int [][]dp = new int[m + 1][n + 1];
int []zero = new int[strs.length];
int []one = new int[strs.length];
for (int i = 0; i < strs.length; i++) {
for (int j = 0; j < strs[i].length(); j++) {
if (strs[i].charAt(j) == '0') {
zero[i]++;
} else {
one[i]++;
}
}
}
for (int k = 0; k < strs.length; k++) {
for (int i = m; i >= 0; i--) {
for (int j = n; j >= 0; j--) {
if (i >= zero[k] && j >= one[k]){
dp[i][j] = Math.max(dp[i][j], dp[i - zero[k]][j - one[k]] + 1);
}
}
}
}
return dp[m][n];
}
}
相關文章
- LeetCode—283—Move ZeroesLeetCode
- Set-matrix-zeroes
- Leetcode 73. Set Matrix ZeroesLeetCode
- Lintcode539 Move Zeroes solution 題解
- Factorial Trailing Zeroes 階乘後的零AI
- D. Ones and Twos
- leetcode學習筆記73 Set Matrix ZeroesLeetCode筆記
- Codeforces 1487F Ones
- SegmentFault 思否加入 ONES
- 加入 ONES 的33個理由
- 快慢緩急總相宜|ONES 人物
- ONES 馮斌:從工程師到CTO,與不確定性和資訊不完備為伴|ONES Talk工程師
- 數字化原住民|ONES 技術人
- 她就是那個「別人家的HR」|ONES 人物
- 我在 ONES 等你 | 寶藏公司技術招聘
- 客戶成功是一種思維模式 | ONES 人物模式
- 去你的35歲危機|ONES 技術人
- 軟體設計的沉靜|ONES 技術人
- 嘿!ONES 新星請看過來|師兄師姐說
- ONES 解碼:為何數字化是“超級工程”
- 電腦就是我的安全感|ONES 技術人
- [深圳 - 南山]ONES、Tower 團隊招聘 Golang 後端工程師Golang後端工程師
- 他做了跟世界首富同樣的選擇|ONES 人物
- ONES 全球化啟航,用軟體服務全球企業
- ONES 收購 SegmentFault 思否,共建高質量開發者社群
- 起點決定高度:ONES 如何踐行軟體標準化
- ONES CTO 馮斌|如何低成本地做出高質量決策
- Day 38 | 1049. 最後一塊石頭的重量 II 、494. 目標和 、474.一和零
- ONES 支援多項信創適配,打造自主可控的國產化平臺
- T 級資料量遷移!知名雲巨頭如何從 Jira 切換至 ONES?
- ONES 入選北大光華 MBA 整合實踐專案,推動校企合作
- ONES X 深圳農村商業銀行 | 數字化專案管理實踐專案管理
- ONES 與極狐(GitLab)戰略合作,強強聯手推動 DevOps 發展Gitlabdev
- 行業視野 | ONES CEO 王穎奇對話極客公園張鵬行業
- ONES 收購為知筆記,全面升級企業知識庫產品筆記
- ONES 透過國內最權威資訊保安等級認證——等保三級
- ONES X 藍城兄弟|有機的研發管理改進是最健康的顛覆
- 那個從「四大」出來的小哥哥,後來怎麼樣了|ONES 人物