dp专题11 一和零

news2025/1/12 3:48:20

本题链接:. - 力扣(LeetCode)

题目:

思路:

        由题意,这里有两个特征,要求满足选取的字符串总和中,0的个数和1的个数分别不超过m个0 和 n个 1,问选取的字符串最多有多少个。

        又是典型的背包问题,这里我们选取的个数变成了两个,所以这是个二维dp

其中我们明确一下 dp[ i ][ j ] 的含义是我们选取的字符串数量,即价值为 1 ,将 n 和 m 作为背包容量即可。

代码详解如下:

class Solution {
public:
    inline int findMaxForm(vector<string>& strs, int m, int n) 
{
	vector<vector<int>>dp(101,vector<int>(101,0));	// 根据题目范围开辟极限大小
	
	for(string &i:strs)		// 遍历我们是否要选取的字符串,  
	{
		int one = 0,zero = 0;	// 统计该字符串的 0  和  1  的数量
		for(char &j:i) 
			if(j - '0') ++one;
			else ++zero;
		
		// 遍历 容量
		for(int j = m;j >= zero;--j)
		{
			for(int k = n;k >= one;--k)
			{
				dp[j][k] = max(dp[j][k],dp[j - zero][k - one] + 1);		// 推导判断是否选取
			}
		}
	}
	return dp[m][n];	// 返回选取字符串最多的数量
}
};

最后提交:

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux网络基础及bonding实际操作

1.查看linux基础的网络配置 网关&#xff1a;route -n ip地址&#xff1a;ifconfig 或 ip a DNS服务器&#xff1a;cat /etc/resolv.conf 主机名&#xff1a;hostname 路由&#xff1a;route -n 网络连接状态&#xff1a;ss 或 netstat 2.临时修改网卡名称 3.永久修…

IP核RAM学习

RAM 的英文全称是 Random Access Memory&#xff0c;即随机存取存储器&#xff0c;它可以随时把数据写入任一指定地址的存储单元&#xff0c;也可以随时从任一指定地址中读出数据&#xff0c;其读写速度是由时钟频率决定的。RAM 主要用来存放程序及程序执行过程中产生的中间数据…

在实验室内里的无奈

洋洋洒洒&#xff0c;随口就来。 不知道什么时候起&#xff0c;我喜欢静谧的环境&#xff0c;身边环境太嘈杂&#xff0c;我就容易心烦意乱&#xff0c;记得以前是完全没有这样的毛病的&#xff0c;不过好在&#xff0c;总是能找到安静的地方&#xff0c;我甚至一度极端&#x…

Vue2 实现带输入的动态表格,限制el-input输入位数以及输入规则(负数、小数、整数)

Vue2 实现el-input带输入限制的动态表格&#xff0c;限制输入位数以及输入规则&#xff08;负数、小数、整数&#xff09; 在这个 Vue2 项目中&#xff0c;我们实现一个限制输入位数&#xff08;整数16位&#xff0c;小数10位&#xff09;以及输入规则&#xff08;负数、小数、…

计算机毕业设计-----Springboot ERP管理系统

项目介绍 系统主要功能包括&#xff1a; 首页 零售管理&#xff1a;零售出库、零售退货&#xff1b; 采购管理&#xff1a;采购订单、采购入库、采购退货&#xff1b; 销售管理&#xff1a;销售订单、销售出库、销售退货&#xff1b; 仓库管理&#xff1a;其它入库、其它出库、…

从零开始搭建一个个人博客并部署发布

1、为什么要自己搭建一个个人博客呢 首先&#xff0c;市场上主流的个人博客有CSDN、掘金、博客园等博客平台&#xff0c;这些平台方便了用户创作、记录的同时&#xff0c;也存在一些弊端&#xff0c;比如某些平台可能你的文章阅读量过高的话&#xff0c;会强制收费等问题已经是…

Linux 软连接ln -s

什么是文件软链接&#xff1f; Linux 的“软连接”与windos 的"快捷方式"相似。文件软链接&#xff08;Symbolic Link 或 SymLink&#xff09;是一种特殊的文件类型&#xff0c;它实际上是一个指向另一个文件或目录的引用。创建软链接时&#xff0c;系统会建立一个新…

线性代数:由矩阵 AB=A 可以推出 B=E 吗?

其实&#xff0c;类似的问题在十几年前的各种提问中就出现了&#xff0c;而且&#xff0c;根据 A B A A BA ABA 推出 B E BE BE 有时候也相当 "符合直觉”&#xff0c;但如果追根问底&#xff0c;矩阵 B B B 到底应该是什么样子的&#xff0c;却很少有详细的解答。 …

高斯数据库 Gauss

gauss DB OLTP 交易 保证数据和安全&#xff0c;主要是银行使用 gauss DB OLAP 分析 大部分是网络公司 gsql 使用gauss数据库的工具 $ gsql -d 数据库名 -p 端口号 -u 用户名 -w 密码 -h 客户端ipgsql 常用参数 -d选项&#xff1a; 指定gsql客户端连接的数据库-h选项&#xff1…

打字侠网站:为何致力于青少年的打字乐趣与成长

在这个数字化时代&#xff0c;计算机已经深刻地渗透到我们的生活中&#xff0c;成为沟通、学习和表达的主要方式。而对于青少年而言&#xff0c;打字作为一项基本技能&#xff0c;不仅仅是应对学业的需要&#xff0c;更是未来发展的必备素养。正是基于这一认知&#xff0c;我决…

Android perfetto memory开源工具分析

目录 原理 官网链接 下载heap_profile producer_support.cc 本地编译 push heapprofd 工具使用 pb文件获取 打开*.pb文件 trace文件 提高系统CPU性能 拆解特定函数内存占用 环境配置 工具使用 修改heap_profile 脚本 原理 Android perfetto memory分析工具和ma…

Netty通信中的粘包半包问题(一)

前言 我们在日常开发过程中&#xff0c;客户端和服务端的连接大多使用的是TCP协议,因为我们要保证数据的可靠传输&#xff0c; 当网络中出现丢包时要求&#xff0c;要求数据包的发送端重传给接收端。而TCP是一种面向连接的传输层协议&#xff0c; 当使用TCP进行传输时&#xf…

Mysql时间差8小时解决方案

目录 1. MySQL 本身的问题1-1. 验证MySQL时间1-2. 修改Mysql时区配置文件修改Mysql时区SQL修改Mysql时区 2.JDBC 连接的问题3. 返回 JSON 时间不对 在开发中&#xff0c;有可能会遇到这种情况&#xff1a; 插入数据库中的时间时正常。但是将时间传到前端页面上显示时&#xff…

【Linux】 nohup命令使用

nohup命令 nohup是Linux和Unix系统中的一个命令&#xff0c;其作用是在终端退出时&#xff0c;让进程在后台继续运行。它的全称为“no hang up”&#xff0c;意为“不挂起”。nohup命令可以让你在退出终端或关闭SSH连接后继续运行命令。 nohup 命令&#xff0c;在默认情况下&…

大数据StarRocks(五) :数据类型

StarRocks 支持数据类型&#xff1a;数值类型、字符串类型、日期类型、半结构化类型、其他类型。您在建表时可以指定以下类型的列&#xff0c;向表中导入该类型的数据并查询数据。 5.1 数值类型 SMALLINT2 字节有符号整数&#xff0c;范围 [-32768, 32767] INT4 字节有符号整…

探索SQL性能优化之道:实用技巧与最佳实践

SQL性能优化可能是每个数据库管理员和开发者在日常工作中必不可少的一个环节。在大数据时代&#xff0c;为确保数据库系统的响应速度和稳定性&#xff0c;掌握一些实用的SQL优化技巧至关重要。 本文将带着开发人员走进SQL性能优化的世界&#xff0c;深入剖析实用技巧和最佳实践…

彻底解决charles抓包https乱码的问题

最近做js逆向&#xff0c;听说charles比浏览器抓包更好用&#xff0c;结果发现全是乱码&#xff0c;根本没法用。 然后查询网上水文&#xff1a;全部都是装证书&#xff0c;根本没用&#xff01; 最后终于找到解决办法&#xff0c;在这里记录一下&#xff1a; 乱码的根本原因…

Paddle模型转ONNX

深度学习模型在硬件加速器上的部署常常要用到ONNX&#xff08;Open Neural Network Exchange&#xff0c;开放神经网络交换&#xff09;格式&#xff0c;也可以通过ONNX实现不同AI框架&#xff08;如Pytorch、TensorFlow、Caffe2、PaddlePaddle等&#xff09;之间的模型转换。 …

MySQL-外键等信息

38. 基础-多表查询-概述_哔哩哔哩_bilibili 1、流程函数 2、约束字段 删除外键 &#xff1a; alter table emp2 drop foreign key 外键名 //外键可以保持数据的一致性和完整性&#xff0c;外键的话&#xff0c;就是类似一个主表&#xff0c;一个从表&#xff0c;从表的其中一…

【grpc】利用protobuf实现java或kotlin调用python脚本,含实现过程和全部代码

前言 在一些特殊场景中&#xff0c;我们可能需要使用java或者其他任意语言调用python脚本或sdk等。本文的需求衍生也不例外于此&#xff0c;python端有sdk&#xff0c;但只能在python中调用&#xff0c;于是就有了本文章。 常见的调用方式如jython、python提供http rest接口、…