| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> Leetcode-53.最大子序列和 -> 正文阅读 |
|
[数据结构与算法]Leetcode-53.最大子序列和 |
题目链接
对于使用DP算法的问题,需要寻找问题的关键,要将问题给抽象出来,并寻找最相似的子问题。 DP算法解决问题有三大特点
使用场景:最大/小值、其条件是否可行、方案的个数。 分析问题问题:数组中的最大连续和。 子问题:局部元素构成的数组,它的最大连续和 状态: 转移方程: 那么这个状态就存在问题,需要寻找新的状态。 明确一下:我们刚刚的状态转移方程无法建立,是因为无法保证最后一个元素也一定参与在状态之间的递推关系中。所以我们可以着手考虑有什么方法让最后一个元素一定在状态转移中。 还有一个重要思路:线性DP有两种方法, 我们无法判断最后一个元素,那么就可以尝试从最后一个元素开始考虑。 如果我们保存每个以最后一个很元素结尾的子数组的最大连续和,然后统一比较,那么我们就能得到数组中最大连续和。 我刚开始对这个思路是比较迷惑的,因为我想这怎么得到最大连续和,如果最大连续和是数组中剑的一组连续元素怎么判断。
实际上,这个是列出 只要将所有以 可能还是会有疑问,这个是怎么保证最终的一定是最大的子集。 我们保证的是, 代码
大概这题就这样,使用逆推的方式来以子集的最大值来表示最大数值。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 1:57:23- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |