代码随想录算法训练营day53||1035.不相交的线||53. 最大子序和
admin
2024-01-20 20:13:41
0

1035.不相交的线

思路:

直线不能相交,就说明在字符串A中找到一个与字符串B相同的子序列,而且这个子序列不能改变相对顺序,只要相对顺序不改变,链接相同数字的直线就不会相交。

class Solution {
public:int maxUncrossedLines(vector& A, vector& B) {vector> dp(A.size() + 1, vector(B.size() + 1, 0));for (int i = 1; i <= A.size(); i++) {for (int j = 1; j <= B.size(); j++) {if (A[i - 1] == B[j - 1]) {dp[i][j] = dp[i - 1][j - 1] + 1;} else {dp[i][j] = max(dp[i - 1][j], dp[i][j - 1]);}}}return dp[A.size()][B.size()];}
};

53. 最大子序和

思路:

动规五部曲如下:

  1. 确定dp数组(dp table)以及下标的含义

dp[i]:包括下标i之前的最大连续子序列和为dp[i]

  1. 确定递推公式

dp[i]只有两个方向可以推出来:

  • dp[i - 1] + nums[i],即:nums[i]加入当前连续子序列和
  • nums[i],即:从头开始计算当前连续子序列和

一定是取最大的,所以dp[i] = max(dp[i - 1] + nums[i], nums[i]);

  1. dp数组如何初始化

从递推公式可以看出来dp[i]是依赖于dp[i - 1]的状态,dp[0]就是递推公式的基础。

dp[0]应该是多少呢?

根据dp[i]的定义,很明显dp[0]应为nums[0]即dp[0] = nums[0]。

  1. 确定遍历顺序

递推公式中dp[i]依赖于dp[i - 1]的状态,需要从前向后遍历。

class Solution {
public:int maxSubArray(vector& nums) {if (nums.size() == 0) return 0;vector dp(nums.size());dp[0] = nums[0];int result = dp[0];for (int i = 1; i < nums.size(); i++) {dp[i] = max(dp[i - 1] + nums[i], nums[i]); // 状态转移公式if (dp[i] > result) result = dp[i]; // result 保存dp[i]的最大值}return result;}
};

相关内容

热门资讯

oppo系统coloros对应... 你有没有发现,每次拿出OPPO手机,那流畅的操作体验简直就像是在玩儿魔法一样?你知道吗,这背后可是有...
安卓系统的设计原理,架构、原理... 亲爱的读者们,你是否曾好奇过,那些我们每天不离手的安卓手机,它们背后的操作系统——安卓系统,究竟是如...
安卓系统谁的系统更流畅,哪家厂... 你有没有发现,用手机的时候,有时候感觉就像是在玩一场速度与激情的游戏,快得让人心跳加速,有时候又慢得...
股票龙王安卓系统app,实时追... 亲爱的读者,你是否曾在手机上安装过那些让人眼前一亮的APP?今天,我要跟你聊聊一个在股市中独树一帜的...
安卓系统显示红色叹号,安卓系统... 亲爱的手机用户们,你们有没有遇到过这样的情况:你的安卓手机屏幕上突然出现了一个红色叹号,就像一个不速...
安卓系统游戏下载平台,热门平台... 探秘安卓系统游戏下载平台:你的游戏天堂大揭秘 开篇:手机游戏,你离不开的娱乐伙伴亲爱的游戏迷们,你...
安卓7.0系统功能点,全面解析... 哇塞,你有没有听说安卓7.0系统?这可是最近手机圈里的大热门呢!今天,我就要给你来个全方位的揭秘,让...
安卓系统与wp系统软件,软件生... 你有没有想过,你的手机里装的那个安卓系统,其实有个小兄弟叫WP系统呢?它们俩虽然长得不一样,但都是手...
遥控精灵安卓系统要求,安卓系统... 亲爱的手机控们,你们有没有想过,有一天,你的手机能变成一个无所不能的遥控器呢?没错,就是那种可以控制...
Mac安卓系统出不来,Mac平... 亲爱的果粉们,最近是不是在用Mac电脑的时候,突然发现安卓系统怎么也出不来啦?别急,让我带你一探究竟...
飞龙app安卓系统版本,“飞龙... 你有没有发现,最近手机上有个叫飞龙app的小家伙,特别火呢!它不仅功能强大,而且界面设计得也是相当美...
安卓平板升级系统密码,安卓平板... 亲爱的平板电脑用户们,你是否曾因为忘记安卓平板升级系统的密码而头疼不已?别担心,今天我要来给你支个招...
安卓系统的界面特点,创新与用户... 哇哦,你有没有发现,每次拿出手机,那熟悉的界面就像老朋友一样,亲切又熟悉?今天,就让我带你一起探索安...
安卓系统如何关闭闹钟,操作步骤... 早晨闹钟一响,是不是瞬间感觉世界都亮了?别急,别急,让我来告诉你,如何在安卓系统里轻松关闭这个“唤醒...
安卓系统手机拨号没了,安卓系统... 亲爱的手机控们,你们有没有遇到过这样的尴尬情况:手机升级后,原本熟悉的拨号键突然消失得无影无踪?别急...
linux系统跑安卓app,L... 亲爱的读者们,你是否曾想过,在Linux系统上也能畅玩安卓应用?没错,这个神奇的组合正在悄然兴起,让...
安卓系统怎么把qq,实际应用中... 亲爱的安卓用户们,是不是有时候想和你的iPhone好友来个QQ的“空中邂逅”?别急,今天就来手把手教...
安卓系统怎样打开txt,安卓系... 手机里突然收到了一个txt文件,是不是某个小伙伴想和你分享一本好书呢?别急,别急,让我来告诉你,在安...
鸿蒙系统怎么退到安卓系统界面,... 亲爱的手机控们,你是否在升级了华为的鸿蒙系统后,突然觉得安卓系统才是真爱呢?别急,今天就来手把手教你...
安卓系统wifidvr闪退,安... 亲爱的手机用户们,你们是不是也遇到过这种情况:手机里的WiFi DVR软件突然就闪退了,让你正在追的...