Skip to content

Commit a2ec9f9

Browse files
Time: 947 ms (78.31%) | Memory: 19.6 MB (56.59%) - LeetSync
1 parent fa9b3b6 commit a2ec9f9

File tree

1 file changed

+5
-9
lines changed

1 file changed

+5
-9
lines changed

474-ones-and-zeroes/ones-and-zeroes.py

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -12,18 +12,14 @@ def count_01(s):
1212
ones += 1
1313
return (zeros, ones)
1414

15-
dp = [[[0] * (n + 1) for _ in range(m + 1)] for _ in range(len(strs) + 1)]
15+
dp = [[0] * (n + 1) for _ in range(m + 1)]
1616

1717
for i in range(1, len(strs) + 1):
18-
1918
zeros, ones = count_01(strs[i - 1])
2019

21-
for m_i in range(m + 1):
22-
for n_i in range(n + 1):
23-
if m_i - zeros >= 0 and n_i - ones >= 0:
24-
dp[i][m_i][n_i] = max(dp[i - 1][m_i][n_i], 1 + dp[i - 1][m_i - zeros][n_i - ones])
25-
else:
26-
dp[i][m_i][n_i] = dp[i - 1][m_i][n_i]
20+
for m_i in range(m, zeros - 1, -1):
21+
for n_i in range(n, ones - 1, -1):
22+
dp[m_i][n_i] = max(dp[m_i][n_i], 1 + dp[m_i - zeros][n_i - ones])
2723

28-
return dp[-1][-1][-1]
24+
return dp[-1][-1]
2925

0 commit comments

Comments
 (0)