LeetCode474:一和零

题目描述
给你一个二进制字符串数组 strs 和两个整数 m 和 n 。

请你找出并返回 strs 的最大子集的长度,该子集中 最多 有 m 个 0 和 n 个 1 。

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

在这里插入图片描述
代码

/*抽象为两个维度的背包问题 dp[i][j]:i个0,j个1最大背dp[i][j]个物品递推公式:dp[i][j] = max(dp[i][j],dp[i-x][i-y]+1)   x为0的个数,y为1的个数初始化:dp[i][j] = 0  dp[0][0] = 0遍历顺序:for(string s:strs){int x=0,y=0;for(char c:str){if(c=='0') ++x;else ++y;}for(int i=m;i>=x;i--)for(int j=n;j>=y;j--){dp[i][j] = max(dp[i][j],dp[i-x][j-y]+1)}}*/
class Solution {
public:int findMaxForm(vector<string>& strs, int m, int n) {vector<vector<int>> dp(m+1, vector<int>(n+1, 0));for (string s : strs) {int x = 0, y = 0;for(char c:s){if (c == '0') ++x;else ++y;}for (int i = m; i >= x; i--) {for (int j = n; j >= y; j--) {dp[i][j] = max(dp[i][j], dp[i - x][j - y] + 1);}}}return dp[m][n];}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/702468.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

认定6月7日截止!合肥市2024年第二批国家高新技术企业申报条件、流程和材料

合肥市2024年第二批国家高新技术企业认定截止在6月7日&#xff0c;关于合肥市高新技术企业认定条件、申报材料、流程的详细内容整理如下&#xff1a; 一、申报范围 &#xff08;一&#xff09;在我市行政区域内注册成立一年以上的居民企业&#xff0c;且符合《认定办法》第十一…

C++实现CSS布局管理器

/* Yoga 是一个针对 Web 标准的嵌入式布局引擎。 https://www.yogalayout.dev/docs/styling/ https://www.yogalayout.dev/playground 其它类似&#xff1a; https://github.com/Tencent/Taitank */ #include <yoga/Yoga.h> void applyLayout(YGNodeRef node) { //i…

渣土车上路识别报警摄像机

随着城市建设的不断推进&#xff0c;渣土车在城市道路上的数量也逐渐增加。然而&#xff0c;一些不法渣土车司机往往会超载、超速行驶或者闯红灯&#xff0c;给道路交通安全和城市环境带来了一定的隐患。为了有效监管渣土车上路行驶的情况&#xff0c;渣土车上路识别报警摄像机…

unity制作app(7)--panel control

根据用户的状态&#xff0c;在界面中显示不同的panel 1.新建一个脚本PanelControl&#xff0c;控制各个脚本的显示与隐藏 2.实现第一个逻辑判断功能&#xff1a;如果没有登记过信息&#xff0c;就直接跳转到登记界面&#xff0c;如果登记过&#xff0c;跳转到住界面。许多需要…

【C++小语法技巧】缺省参数和函数重载

在使用C语言编程过程中&#xff0c;C语言的要求之严格&#xff0c;编程过程之繁琐&#xff0c;大同小异的重复性工作&#xff0c;令C之父使用C语言编程时也深受其扰&#xff0c;于是乎C兼容C小语法诞生了 一、缺省参数 在C中&#xff0c;缺省参数&#xff08;也称为默认参数&a…

Windows server 2012 R2添加桌面图标

1、鼠标放到Window图标——右键——搜索 2、输icon——搜索 3、选择显示或隐藏桌面上的的通用图标 4、勾选需要添加到桌面的图标——确定

TimesFM: 预训练的时间序列基础模型

大模型技术论文不断&#xff0c;每个月总会新增上千篇。本专栏精选论文重点解读&#xff0c;主题还是围绕着行业实践和工程量产。若在阅读过程中有些知识点存在盲区&#xff0c;可以回到如何优雅的谈论大模型重新阅读。另外斯坦福2024人工智能报告解读为通识性读物。若对于如果…

【全开源】房屋出租出售预约系统支持微信小程序+H5+APP

一款基于FastAdminThinkPHPUniapp开发的房屋出租出售预约系统&#xff0c;支持小程序、H5、APP&#xff1b;包含房客、房东(高级授权)、经纪人(高级授权)三种身份。核心功能有&#xff1a;新盘销售、房屋租赁、地图找房、小区找房&#xff0c;地铁找房等方式。 特色功能&#…

基于物联网的智能病房设计-设计说明书

设计摘要&#xff1a; 本设计是基于物联网的智能病房设计&#xff0c;旨在提供更加智能化和便捷的监测和管理病人的环境和生理状态。通过集成多种传感器和通信模块&#xff0c;实现了温度、尿床和点滴异常的监测和提醒功能。具体而言&#xff0c;设计中采用了OLED显示屏来显示…

Python从0到100(二十二):用Python读写CSV文件

一、CSV文件概述 CSV&#xff0c;即逗号分隔值&#xff08;Comma Separated Values&#xff09;&#xff0c;是一种以纯文本形式存储表格数据的通用格式。它因其简洁和易于使用而广泛应用于数据交换&#xff0c;如在数据库、电子表格等应用程序中导入和导出数据。CSV文件的纯文…

Linux线程(四) 生产者消费者模型

目录 一、什么是生产者消费者模型 基本概念 优点以及应用场景 二、 基于阻塞队列的生产者消费者模型 三、POSIX信号量 四、基于环形队列的生产消费模型 一、什么是生产者消费者模型 Linux下的生产者消费者模型是一种经典的多线程或多进程编程设计模式&#xff0c;它用于解…

分体工业读写器的适用场景有哪些?

工业读写器根据设计方式不同&#xff0c;可分为一体式读写器和分体式读写器&#xff0c;不同读写器特点不同&#xff0c;适用场景也不同&#xff0c;下面我们就一起来了解一下超高频分体读写器适用场景有哪些。 超高频分体读写器介绍 超高频分体读写器是一种射频识别(RFID)设…