动态规划理论基础和习题【力扣】【算法学习day.26】

前言

###我做这类文档一个重要的目的还是给正在学习的大家提供方向(例如想要掌握基础用法,该刷哪些题?)我的解析也不会做的非常详细,只会提供思路和一些关键点,力扣上的大佬们的题解质量是非常非常高滴!!!


习题

1.一和零

题目链接:474. 一和零 - 力扣(LeetCode)

题面:

基本分析:将该问题转化为背包问题,则f【k】【i】【j】,当考虑到第k个物品,0的个数不超过i,1的个数不超过j的最大子串数目

代码:

class Solution {public int findMaxForm(String[] strs, int m, int n) {int len = strs.length;// 预处理每一个字符包含 0 和 1 的数量int[][] cnt = new int[len][2];for (int i = 0; i < len; i++) {String str = strs[i];int zero = 0, one = 0;for (char c : str.toCharArray()) {if (c == '0') {zero++;} else {one++;}}cnt[i] = new int[]{zero, one}; }// 处理只考虑第一件物品的情况int[][][] f = new int[len][m + 1][n + 1];for (int i = 0; i <= m; i++) {for (int j = 0; j <= n; j++) {f[0][i][j] = (i >= cnt[0][0] && j >= cnt[0][1]) ? 1 : 0;}}// 处理考虑其余物品的情况for (int k = 1; k < len; k++) {int zero = cnt[k][0], one = cnt[k][1];for (int i = 0; i <= m; i++) {for (int j = 0; j <= n; j++) {// 不选择第 k 件物品int a = f[k-1][i][j];// 选择第 k 件物品(前提是有足够的 m 和 n 额度可使用)int b = (i >= zero && j >= one) ? f[k-1][i-zero][j-one] + 1 : 0;f[k][i][j] = Math.max(a, b);}}}return f[len-1][m][n];}
}

后言

上面是动态规划的基本概念和部分习题,下一篇会有其他习题,希望有所帮助,一同进步,共勉!  

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

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

相关文章

webpack 执行流程 — 实现 myWebpack

前言 实现 myWebpack 主要是为了更好的理解&#xff0c;webpack 中的工作流程&#xff0c;一切都是最简单的实现&#xff0c;不包含细节内容和边界处理&#xff0c;涉及到 ast 抽象语法树和编译代码部分&#xff0c;最好可以打印出来观察一下&#xff0c;方便后续的理解。 re…

【WRF模拟】全过程总结:WPS预处理及WRF运行

【WRF模拟】全过程总结:WPS预处理及WRF运行 1 数据准备1.1 嵌套域设置(Customize domain)-基于QGis中gis4wrf插件1.2 静态地理数据1.2.1 叶面积指数LAI和植被覆盖度Fpar(月尺度)1.2.2 地面反照率(月尺度)1.2.3 土地利用类型+不透水面积1.2.4 数据处理:geotiff→tiff(W…

详解Gemini API的使用:在国内实现大模型对话与目标检测教程

摘要&#xff1a;本博客介绍了如何利用Gemini API实现多轮对话和图像目标检测识别功能&#xff0c;在Python中快速搭建自己的大模型完成实际任务。通过详细的步骤解析&#xff0c;介绍了如何申请Gemini API密钥&#xff0c;调用API、对话实现的代码&#xff0c;给出了上传图片识…

「QT」几何数据类 之 QPoint 整型点类

✨博客主页何曾参静谧的博客&#x1f4cc;文章专栏「QT」QT5程序设计&#x1f4da;全部专栏「VS」Visual Studio「C/C」C/C程序设计「UG/NX」BlockUI集合「Win」Windows程序设计「DSA」数据结构与算法「UG/NX」NX二次开发「QT」QT5程序设计「File」数据文件格式「PK」Parasolid…

vue页签

效果&#xff1a; 快来学习&#xff1a; Vue 3 Composition API 和 script setup 语法 Composition API&#xff1a;Vue 3 引入的 Composition API 相比 Vue 2 的 Options API 提供了更灵活的代码组织方式。使用 setup 函数&#xff0c;可以将组件的所有功能和逻辑集中在一起&a…

参数高效微调

参数高效微调 参数高效微调简介 对于预训练数据涉及较少的垂直领域&#xff0c;大语言模型需要对这些领域及相应的下游任务进行适配。上下文学习和指令微调是进行下游任务适配的有效途径&#xff0c;但它们在效果或效率上存在缺陷。为弥补这些不足&#xff0c;参数高效微调&am…

第3篇 滑动开关控制LED__ARM汇编语言工程<一>

Q&#xff1a;如何设计实现滑动开关控制LED的ARM汇编程序呢&#xff1f;与Nios II汇编语言有何不同呢&#xff1f; A&#xff1a;基本原理&#xff1a;该应用程序用到DE1-SoC开发板上的10个红色LED、10个滑动开关SW和4个按钮开关。DE1-SoC_Computer system的qsys系统中IP的硬件…

Windows配置hosts文件域名本地解析IP地址,网页打开

在Windows系统中&#xff0c;配置hosts文件可以实现对域名的本地解析&#xff0c;即将特定的域名映射到指定的IP地址。以下是在Windows系统中配置hosts文件的详细步骤&#xff1a; 一、找到hosts文件位置 “C:\Windows\System32\drivers\etc” 二、备份hosts文件并打开 建议…

【主机游戏】艾尔登法环游戏攻略

艾尔登法环&#xff0c;作为一款备受好评但优化问题频发的游戏&#xff0c;就连马斯克都夸过 今天介绍一下这款游戏 https://pan.quark.cn/s/24760186ac0b 角色升级 在《艾尔登法环》中&#xff0c;角色升级需要找到梅琳娜。你可以在关卡前废墟的营地附近&#xff0c;风暴关…

网络原理(应用层)->HTTP

前言 大家好我是小帅&#xff0c;今天我们来了解应用层协议HTTP 文章目录 1. HTTP 请求响应格式&#xff08;重点&#xff09;1.1 HTTP 协议的⼯作过程1.2 HTTP请求格式1. 3HTTP响应格式 2. HTTP 请求 (Request)2.1 使⽤ ping 命令查看域名对应的 IP 地址2.2 URL encode2.3 认识…

JavaScript中执行上下文和执行栈是什么?

一、执行上下文 简单的来说&#xff0c;执行上下文是一种对Javascript代码执行环境的抽象概念&#xff0c;也就是说只要有Javascript代码运行&#xff0c;那么它就一定是运行在执行上下文中 执行上下文的类型分为三种&#xff1a; 全局执行上下文&#xff1a;只有一个&#…

2023上半年下午1,2

问题1不要看图1-1父图&#xff0c;直接看图1-2子图去找 用户就是农户和租户 按数据流输入的词语后面加表字即D的名称&#xff0c;流向D的 信息有包含&#xff0c;子图加了&#xff0c;父图就不平衡了 添加图一般不加实体&#xff0c;加联系&#xff08;菱形&#xff09;&#x…

Linux基础(2)

学习地点&#xff08;泷羽sec的个人空间-泷羽sec个人主页-哔哩哔哩视频 (bilibili.com)&#xff09; LInux目录介绍 Linux常见目录及作用 /&#xff1a;操作系统的根路径 /bin&#xff1a;存储二进制可执行目录&#xff0c;普通用户和管理员都可以执行的命令 /etc&#xff1a;…

算法简介:动态规划

动态规划 1. 动态规划2. 案例2.1 旅游行程最优化2.2 最长公共子串 1. 动态规划 背包问题&#xff1a;背包可以容纳的重量是4磅&#xff0c;吉他为1磅&#xff0c;价值1500元&#xff1b;音响为4磅&#xff0c;价值3000元&#xff1b;笔记本电脑为3磅&#xff0c;价值为2000元。…

解释区块链技术的应用场景和优势。

区块链技术的应用场景包括但不限于以下几个方面&#xff1a; 1. 金融领域&#xff1a;区块链技术可以用于跨境支付、智能合约、数字货币和资产管理等方面&#xff0c;提供更安全、快速和可追溯的交易体验。 2. 物联网领域&#xff1a;区块链技术可以为物联网设备提供身份验证…

【EMNLP2024】基于多轮课程学习的大语言模型蒸馏算法 TAPIR

近日&#xff0c;阿里云人工智能平台PAI与复旦大学王鹏教授团队合作&#xff0c;在自然语言处理顶级会议EMNLP 2024 上发表论文《Distilling Instruction-following Abilities of Large Language Models with Task-aware Curriculum Planning》。文章提出了一个名为 TAPIR 的知…

棱镜七彩参加“融易行”产融对接南京站项目路演活动 展示供应链安全创新成果

近日&#xff0c;江苏省软件强链“融易行”产融对接南京站活动圆满举行&#xff0c;棱镜七彩作为江苏省重点软件企业受邀参加活动&#xff0c;并展示了公司在供应链安全与开源治理方面的创新成就。 本次活动由江苏省工业和信息化厅、南京市工业和信息化局主办&#xff0c;关键软…

5_api_intro_imagerecognition_html2word

HTML 转 Word API 接口 支持网页转 Word&#xff0c;高效转换为 Word&#xff0c;提供永久链接。 1. 产品功能 超高性能转换效率&#xff1b;支持将传递的 HTML 转换为 Word&#xff0c;支持 HTML 中的 CSS 格式在 Word 文档中的呈现&#xff1b;支持传递网站的 URL&#xff0c…

软件工程 软考

开发大型软件系统适用螺旋模型或者RUP模型 螺旋模型强调了风险分析&#xff0c;特别适用于庞大而复杂的、高风险的管理信息系统的开发。喷泉模型是一种以用户需求为动力&#xff0c;以对象为为驱动的模型&#xff0c;主要用于描述面向对象的软件开发过程。该模型的各个阶段没有…

蓝桥杯 懒洋洋字符串--字符串读入

题目 代码 #include <iostream>using namespace std;int main(){int n;cin>>n;char s[210][4];int ans0;for(int i0;i<n;i){scanf("%s",s[i]);}for(int i0;i<n;i){char as[i][0];char bs[i][1];char cs[i][2];// cout<<a<< <<b…