dynamic programming
from right bottom corner to top left
class Solution(object):
def findMaxForm(self, strs, m, n):
"""
:type strs: List[str]
:type m: int
:type n: int
:rtype: int
"""
dp=[[0 for _ in range(n+1)] for _ in range(m+1)]
for string in strs:
num_zeros=string.count('0')
num_ones=string.count('1')
for i in reversed(xrange(num_zeros,m+1)):
for j in reversed(xrange(num_ones,n+1)):
dp[i][j]=max(dp[i][j],dp[i-num_zeros][j-num_ones]+1)
return dp[m][n]
474. Ones and Zeroes
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- n the computer world, use restricted resource you have to...
- 《一切都好》这个片子特别适合过年放映,一家人团圆的主题不知道为什么放在了新年的第一天上映。 片子里的老人有4个儿女...