当前位置: 首页 > news >正文

Day 53 |● 1143.最长公共子序列 ● 1035.不相交的线 ● 53. 最大子序和

1143.最长公共子序列 

class Solution {
public:int longestCommonSubsequence(string text1, string text2) {vector<vector<int>> dp(text1.size()+1,vector<int>(text2.size()+1,0));int res = 0;for(int i = 1; i <= text1.size(); i++){for(int j = 1; j <= text2.size(); j++){if(text1[i-1] == text2[j-1]){dp[i][j] = dp[i-1][j-1] + 1;res = max(res,dp[i][j]);}else{dp[i][j] = max(dp[i-1][j], dp[i][j-1]);res = max(res,dp[i][j]);} }}return res;}
};

具体思路:

dp[i][j]:对text1的前 i 个长度和对text2的前 j 个长度所能得到的最大公共子序列长度。

因为描述的是长0度不是下标,所以在初始化的时候,dp初始化时候的大小,得加1。

而在推导中 dp[i][j] 的推导过程只会存在如下俩种情况,要么相等了,要么不相等。

相等:因为 ij代表的是长度,则很自然的,如果想表达前 2 个元素,比对的当前第2个元素下标是1,所以当相等,也就是 text1[i-1] == text2[j-1]的时候,那么此时当前dp[i][[j] 位置因为其相同,则一定能够在原先 dp[i-1][j-1]的基础上+1.

不相等:不相等则说明,不能加1,则说明俩个组合不能同时前进后退,而此时的值只能从俩者单独退一步所能获得的最大值来覆盖。

1035.不相交的线

跟上题一模一样

53. 最大子序和

      

class Solution {
public:int maxSubArray(vector<int>& nums) {if(nums.size() == 1) return nums[0];vector<int> dp(nums.size());dp[0] = nums[0];//注意初始化int res = dp[0];//注意初始化for(int i = 1; i < nums.size(); i++){dp[i] = max(dp[i-1] + nums[i], nums[i]);res = max(res, dp[i]);}return res;}
};

具体思路:

dp[i] : (0-i区间所能获得的最大连续子数组值)

dp[i]推导可以通过要么上一个dp[i-1]的值加上当前的值为大,要么直接以当前值为最大,因为若之前的值是负数,则肯定会导致相加变小,那么前面全部抛弃,直接从当前开始。

初始化也很重要,首先是dp[0],从0下标开始,则其值肯定就是nums[0]的值,而res初始化也得是0下标的值,以防万一一直就是负数,如果初始是0的话,0一直大于负数,但是其真正的最大值也就是负数,会导致出问题。

http://www.lryc.cn/news/313161.html

相关文章:

  • ant-desgin charts双轴图DualAxes,柱状图无法立即显示,并且只有在调整页面大小(放大或缩小)后才开始显示
  • 获取别人店铺的所有商品API接口
  • 成都正信:亲戚借了钱一直不还怎么委婉的说
  • Truenas入门级教程
  • 窗口函数dense() over(条件)
  • 蓝牙APP开发实现汽车遥控钥匙解锁汽车智能时代
  • 第三天 Kubernetes进阶实践
  • redis小结
  • PHP伪协议详解
  • 进程:守护进程
  • 千里马平台项目管理理念
  • GB 2312字符集:中文编码的基石
  • 我的创作周年纪念日
  • MySQL为什么要用B+树?
  • 今天分享一个好看的输入法皮肤相信每个人心里住着一个少女心我们美化一下她吧
  • 力扣刷题Days11第二题--141. 环形链表(js)
  • 微信自动回复的设置
  • SpringBoot源码解读与原理分析(一)SpringBoot整体概述
  • 如何选择VR全景设备,才能拍摄高质量的VR全景?
  • Vue 3 中的 ref 和 reactive 有什么区别?
  • 【SpringBoot】mybaitsPlus的多数据源配置
  • 安卓Java面试题 1-10
  • 强化学习中动作价值函数和状态价值函数的联系区别?
  • Vue-Router路由介绍和使用
  • Waves 14 Complete:后期混音效果全套插件,打造专业级音质体验
  • DC-2靶机详解
  • 个人项目介绍4:三维园区篇
  • 哪些公司在招聘GIS开发?为什么?
  • 电脑自带dll修复在哪里,dll修复工具一键修复dll丢失问题
  • 电商数据分析15——电商平台上的产品推荐系统优化策略