#2121. 一和零
一和零
问题描述
给你一个二进制字符串数组 strs
和两个整数 m
和 n
。
请你找出并返回 strs
的最大子集的长度,该子集中 最多 有 m
个 0
和 n
个 1
。
如果 x
的所有元素也是 y
的元素,集合 x
是集合 y
的 子集。
输入格式
- 第一行包含一个整数
k
,表示数组strs
的长度。 - 接下来
k
行,每行包含一个仅由字符 '0' 和 '1' 组成的字符串strs[i]
。 - 最后一行包含两个整数
m
和n
,分别表示最多包含的0
和1
的数量。
输出格式
- 输出一个整数,表示符合条件的最大子集的长度。
示例
示例 1
输入:
5
10
0001
111001
1
0
5 3
输出:
4
解释: 最多有 5
个 0
和 3
个 1
的最大子集是 {"10","0001","1","0"}
,因此答案是 4
。 其他满足题意但较小的子集包括 {"0001","1"}
和 {"10","1","0"}
。 {"111001"}
不满足题意,因为它包含 4
个 1
,大于 n
的值 3
。
示例 2
输入:
3
10
0
1
1 1
输出:
2
解释: 最大的子集是 {"0", "1"}
,所以答案是 2
。
提示
1 <= strs.length <= 600
1 <= strs[i].length <= 100
strs[i]
仅由 '0' 和 '1' 组成1 <= m, n <= 100