#2121. 一和零

一和零

问题描述

给你一个二进制字符串数组 strs 和两个整数 mn

请你找出并返回 strs 的最大子集的长度,该子集中 最多m0n1

如果 x 的所有元素也是 y 的元素,集合 x 是集合 y 的 ​子集​。

输入格式

  • 第一行包含一个整数 k,表示数组 strs 的长度。
  • 接下来 k 行,每行包含一个仅由字符 '0' 和 '1' 组成的字符串 strs[i]
  • 最后一行包含两个整数 mn,分别表示最多包含的 01 的数量。

输出格式

  • 输出一个整数,表示符合条件的最大子集的长度。

示例

示例 1

输入:

5
10
0001
111001
1
0
5 3

输出:

4

解释: 最多有 5031 的最大子集是 {"10","0001","1","0"},因此答案是 4。 其他满足题意但较小的子集包括 {"0001","1"}{"10","1","0"}{"111001"} 不满足题意,因为它包含 41,大于 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