LeetCode 1143最长公共子序列 1035不相交的线 53最大子序和 | 代码随想录25期训练营day53

动态规划算法11

LeetCode 1143 最长公共子序列 2023.12.16

  • 题目链接
  • 代码随想录讲解[链接]
    在这里插入图片描述
int longestCommonSubsequence(string text1, string text2) {//1确定dp二维数组,dp[i][j]表示以text1[i-1]、text2[j-1]结尾相同的公共子序列的最大长度vector<vector<int>> dp(text1.size()+1, vector<int>(text2.size()+1, 0));//3初始化,第一行和第一列必须初始化,意义上为0,因为遍历开始从text1[0]与text2[0]比较//2确定递推公式,4确定遍历顺序//顺序遍历for (int i = 1; i <= text1.size(); i++){for(int j = 1; j <= text2.size(); j++){//如果text1[i-1]、text2[j-1]相同,那么dp[i-1][j-1]+1if(text1[i-1] == text2[j-1])dp[i][j] = dp[i-1][j-1]+1;//如果text1[i-1]、text2[j-1]不相同,//那么dp[i][j]=max(i-1长度text1与j长度text2最大长度,i长度text1与j-1长度text2最大长度)elsedp[i][j] = max(dp[i-1][j], dp[i][j-1]);}}//因为dp[i][j]连续赋值,那么最终答案一定为dp[text1.size()][text2.size()]return dp[text1.size()][text2.size()];
}

LeetCode 1035 不相交的线 2023.12.16

  • 题目链接
  • 代码随想录讲解[链接]
    在这里插入图片描述
int maxUncrossedLines(vector<int>& nums1, vector<int>& nums2) {//此题实际就是求最长公共子序列,按顺序可以不连续的相同子序列的最大长度//1确定dp二维数组,dp[i][j]表示以nums1[i-1]、nums2[j-1]结尾相同的公共子序列的最大长度vector<vector<int>> dp(nums1.size()+1, vector<int>(nums2.size()+1, 0));//3初始化,第一行和第一列必须初始化,意义上为0,因为遍历开始从nums1[0]与nums2[0]比较//2确定递推公式,4确定遍历顺序//顺序遍历for (int i = 1; i <= nums1.size(); i++){for(int j = 1; j <= nums2.size(); j++){//如果nums1[i-1]、nums2[j-1]相同,那么dp[i-1][j-1]+1if(nums1[i-1] == nums2[j-1])dp[i][j] = dp[i-1][j-1] + 1;//如果nums1[i-1]、nums2[j-1]不相同,//那么dp[i][j]=max(i-1长度nums1与j长度nums2最大长度,i长度nums1与j-1长度nums2最大长度)elsedp[i][j] = max(dp[i-1][j], dp[i][j-1]);}}return dp[nums1.size()][nums2.size()];
}

LeetCode 53 最大子序和 2023.12.16

  • 题目链接
  • 代码随想录讲解[链接]
    在这里插入图片描述
int maxSubArray(vector<int>& nums) {//贪心算法/*//cur记录当前连续子数组和,当cur<0时,贼将cur归0,持续遍历int cur = 0;//result存储最终答案,连续子数组最大和int result = INT_MIN;//开始遍历for (int i = 0; i < nums.size(); i++){//求连续子数组的和cur += nums[i];//判断与result关系,若比result大,则更新最大值到result中result = cur > result ? cur : result;//如果连续子数组的和cur小于0,则归0后持续下一次遍历if(cur < 0)cur = 0;}return result; */ //动态规划算法//创建变量result存储最大子数组和,初始值为nums[0]int result = nums[0];//1确定dp数组,dp[i]表示以nums[i]结尾的连续子数组的最大和vector<int> dp(nums.size(), 0);//3初始化,dp[0]=nums[0],其他值初始化为0dp[0] = nums[0];//2确定递推公式,4确定遍历顺序for (int i = 1; i < nums.size(); i++){dp[i] = max(dp[i-1] + nums[i], nums[i]);//因为存在负数,所以dp[i]可能变小,所以将最大值保存在result中if(dp[i] > result)result = dp[i];}return result;
}

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

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

相关文章

普通二叉树和右倾斜二叉树--LeetCode 111题《Minimum Depth of Binary Tree》

本文将以解释计算二叉树的最小深度的思路为例&#xff0c;致力于用简洁易懂的语言详细描述普通二叉树和右倾斜二叉树在计算最小深度时的区别。通过跟随作者了解右倾斜二叉树的概念以及其最小深度计算过程&#xff0c;读者也将对左倾斜二叉树有更深入的了解。这将为解决LeetCode…

BIM 技术:CIM (City Information Modeling) 1-7 级

本心、输入输出、结果 文章目录 BIM 技术&#xff1a;CIM &#xff08;City Information Modeling&#xff09; 1-7 级前言城市信息模型&#xff08;CIM&#xff09;概述城市信息模型分级介绍CIM 1CIM 2CIM 3CIM 4CIM 5CIM 6CIM 7 花有重开日&#xff0c;人无再少年实践是检验真…

【Linux】dump命令使用

dump命令 dump命令用于备份文件系统。使用dump命令可以检查ext2/3/4文件系统上的文件&#xff0c;并确定哪些文件需要备份。这些文件复制到指定的磁盘、磁带或其他存储介质保管。 语法 dump [选项] [目录|文件系统] bash: dump: 未找到命令... 安装dump yum -y install …

TableView复用机制的坑

TableView复用机制的坑 复用机制 UITableView 首先加载能够覆盖一屏幕的 UITableViewCell&#xff08;具体个数要根据每个 cell 的高度而定&#xff09;。 然后当我们往上滑动时&#xff08;往下滑动同理&#xff09;&#xff0c;需要一个新的 cell 放置在列表的下方。此时&…

SpringBoot Starter机制(自定义Start案例,实际开发场景中的短信模拟,AOP实现日志打印)

前言&#xff1a; 在我们上一篇博客中&#xff0c;实现Freemarke的增删改查&#xff0c;今天分享的是关于SpringBoot Starter机制-- 1.SpringBoot Starter 1.1.什么是SpringBoot Starter SpringBoot中的starter是一种非常重要的机制(自动化配置)&#xff0c;能够抛弃以前繁杂…

一款专业的磁盘坏道清除、彻底清除填充数据根据-硬盘数据彻底清除的方法分享

工具提供了硬盘坏道修复功能&#xff0c;你可以将损坏的磁盘放到软件分析&#xff0c;让软件找到错误的地方&#xff0c;让软件找到损坏的区域&#xff0c;通过内置的修复功能就可以将不能正常使用的部分恢复&#xff0c;从而让您的电脑磁盘可以保存很多数据&#xff0c;避免造…

Windows安装Tesseract OCR与Python中使用pytesseract进行文字识别

文章目录 前言一、下载并安装Tesseract OCR二、配置环境变量三、Python中安装使用pytesseract总结 前言 Tesseract OCR是一个开源OCR&#xff08;Optical Character Recognition&#xff09;引擎&#xff0c;用于从图像中提取文本。Pytesseract是Tesseract OCR的Python封装&am…

【python】Debian安装miniconda、spyder、tushare

1. miniconda 安装 — 动手学深度学习 2.0.0 documentation中有安装Miniconda的一些说明。 Miniconda — miniconda documentation是Miniconda网站&#xff0c;里面也有安装说明。 Debian安装按照linux安装即可&#xff1a; mkdir -p ~/miniconda3 wget https://repo.anaco…

macbookpro 2024怎么恢复出厂设置

可能你的MacBook曾经是高性能的代表&#xff0c;但是现在它正慢慢地逝去了自己的光芒&#xff1f;随着逐年的使用以及文件的添加和程序的安装&#xff0c;你的MacBook可能会开始变得迟缓卡顿&#xff0c;或者失却了以往的光彩。如果你发现你的Mac开始出现这些严重问题&#xff…

英语综合教程1第三版的一些题

unit1 unit2 unit3 unit4 unit5 unit6

3.1 内容管理模块 - 工程搭建、课程查询、配置Swagger、数据字典

文章目录 内容管理模块一、基础工程搭建1.1 需求分析1.2 业务流程1.3 数据模型1.4 创建模块工程1.4.1 介绍1.4.2 xuecheng-plus-content 聚合工程1.4.3 模块演示 二、课程查询准备2.1 需求分析2.1.1 业务流程2.1.2 数据模型 2.2 生成PO类2.2.1 新增Maven配置2.2.2 课程基本信息…

CSS的盒子模型(重点)

网页布局的三大核心&#xff1a;盒子模型、浮动、定位 网页布局的过程&#xff1a; 1. 先准备好相关的网页元素&#xff0c;网页元素基本都是盒子 Box 。 2. 利用 CSS 设置好盒子样式&#xff0c;然后摆放到相应位置。 3. 往盒子里面装内容.网页布局的核心本质&#xff1a; 就…

python+appium自动化常见操作

1、点击、输入操作 #点击 driver.find_element(id,com.lemon.lemonban:id/navigation_my).click() #输入 driver.find_element(id,com.lemon.lemonban:id/et_password).send_keys(abc)2、隐形等待 driver.implicitly_wait(10)3、显性等待 #显性等待 locator (xpath,xpath) wai…

技术分享 | Appium 用例录制

下载及安装 下载地址&#xff1a; github.com/appium/appi… 下载对应系统的 Appium 版本&#xff0c;安装完成之后&#xff0c;点击 “Start Server”&#xff0c;就启动了 Appium Server。 在启动成功页面点击右上角的放大镜&#xff0c;进入到创建 Session 页面。配置好 …

Python基础学习—Pandas数据分析实战剖析【文末送书-09】

文章目录 一.Pandas数据分析1.1 Pandas的主要应用包括&#xff1a;1.2 Pandas核心数据结构1.3 安装和导入Pandas 二.Pandas数据分析实战&#xff1a;用Python进行数据分析1. 数据集介绍2. 数据加载与初步观察3. 数据清洗4. 数据分析4.1 销售趋势分析4.2 热门商品分析 三.Pandas…

将开源免费进行到底,ThreadX开源电脑端GUIBuilder图形开发工具GUIX Studio

上个月微软刚刚宣布将ThreadX RTOS全家桶贡献给Eclipse基金会&#xff0c;免费供大家商用&#xff0c;宽松的MIT授权方式&#xff0c;就差这个GUIX Studio没有开源了&#xff0c;而且Windows还经常检索不到&#xff0c;并且也不提供离线包。 1、软件包有点大&#xff0c;700MB…

力扣第一题-两数之和[简单]

题目描述 给定一个整数数组 nums 和一个整数目标值 target&#xff0c;请你在该数组中找出 和为目标值 target 的那 两个 整数&#xff0c;并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是&#xff0c;数组中同一个元素在答案里不能重复出现。 你可以按任…

分布式事务--分布式事务理论基础

1.本地事务 本地事务&#xff0c;也就是传统的单机事务。在传统数据库事务中&#xff0c;必须要满足四个原则&#xff1a; 2.分布式事务 分布式事务&#xff0c;就是指不是在单个服务或单个数据库架构下&#xff0c;产生的事务&#xff0c;例如&#xff1a; 跨数据源的分布式…

《人工智能导论》知识思维导图梳理【第6章节】

文章目录 第六章 知识图谱1 知识图谱概述2 知识图谱相关概念3 知识图谱的逻辑结构4 知识图谱的数据存储5 知识图谱的构建过程6 例题 markdown内容的分享 第六章 知识图谱 1 知识图谱概述 2 知识图谱相关概念 3 知识图谱的逻辑结构 4 知识图谱的数据存储 5 知识图谱的构建过程 6…

【LeetCode: 2415. 反转二叉树的奇数层 | BFS + DFS】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…