Skip to content

Commit b5eaf90

Browse files
committed
Time: 371 ms (99.23%), Space: 18 MB (83.93%) - LeetHub
1 parent b72edd8 commit b5eaf90

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
class Solution:
2+
def findMaxForm(self, strs: List[str], m: int, n: int) -> int:
3+
dp = {(0, 0): 0}
4+
5+
for s in strs:
6+
ones = s.count('1')
7+
zeroes = s.count('0')
8+
newdp = {}
9+
10+
for (prevZeroes, prevOnes), val in dp.items():
11+
newZeroes, newOnes = prevZeroes + zeroes, prevOnes + ones
12+
if newZeroes <= m and newOnes <= n:
13+
if (newZeroes, newOnes) not in dp or dp[(newZeroes, newOnes)] < val + 1:
14+
newdp[(newZeroes, newOnes)] = val + 1
15+
16+
dp.update(newdp)
17+
return max(dp.values())

0 commit comments

Comments
 (0)