动态规划:连续子数组的最大和
解答过程:
使用动态规划
F(i):以array[i]为末尾元素的子数组的和的最大值,子数组的元素的相对位置不变
F(i)=max(F(i-1)+array[i] , array[i])
res:所有子数组的和的最大值
res=max(res,F(i))
如数组[6, -3, -2, 7, -15, 1, 2, 2]
初始状态:
F(0)=6
res=6
i=1:
F(1)=max(F(0)-3,-3)=max(6-3,-3)=3
res=max(F(1),res)=max(3,6)=6
i=2:
F(2)=max(F(1)-2,-2)=max(3-2,-2)=1
res=max(F(2),res)=max(1,6)=6
i=3:
F(3)=max(F(2)+7,7)=max(1+7,7)=8
res=max(F(3),res)=max(8,6)=8
i=4:
F(4)=max(F(3)-15,-15)=max(8-15,-15)=-7
res=max(F(4),res)=max(-7,8)=8
以此类推
最终res的值为8
代码很简洁:
|
动态规划:连续子数组的最大和相关推荐
- 【动态规划】记录每步选择:牛客网:连续子数组的最大和(二)
输入一个长度为n的整型数组array,数组中的一个或连续多个整数组成一个子数组,找到一个具有最大和的连续子数组. 1.子数组是连续的,比如[1,3,5,7,9]的子数组有[1,3],[3,5,7]等等 ...
- 【剑指 offer】(31)—— 连续子数组的最大和(动态规划)
题目:输入一个整型数组,数组里有正数也有负数.数组中一个或连续的多个整数组成一个子数组.求所有子数组的和的最大值.要求时间复杂度为 O(n)O(n). 例如,输入的数组为 {1, -2, 3, 10, ...
- 【最佳解法】剑指 Offer 42. 连续子数组的最大和
我是小张同学,立志用最简洁的代码做最高效的表达 思路:动态规划 假设nums\textit{nums}nums 数组的长度是 nnn,下标从 000 到 n−1n-1n−1. 我们用 f(i)f(i) ...
- 【LeetCode】剑指 Offer 42. 连续子数组的最大和
[LeetCode]剑指 Offer 42. 连续子数组的最大和 文章目录 [LeetCode]剑指 Offer 42. 连续子数组的最大和 一.动态规划 一.动态规划 状态定义 设动态规划列表 dp ...
- 剑指offer——面试题31:连续子数组的最大和
剑指offer--面试题31:连续子数组的最大和 Solution1: 第一次做这道题.. 讲道理是这是标准的动态规划的题目,可是思路未完全想好. min_element(iterator, iter ...
- 剑指 Offer 42. 连续子数组的最大和(官解)
14天阅读挑战赛 努力是为了不平庸~ 算法学习有些时候是枯燥的,这一次,让我们先人一步,趣学算法!欢迎记录下你的那些努力时刻(算法学习知识点/算法题解/遇到的算法bug/等等),在分享的同时加深对于算 ...
- 剑指 Offer 42. 连续子数组的最大和
摘要 剑指 Offer 42. 连续子数组的最大和 一. 动态规划分析 1.1 动态规划思路分析 假设nums数组的长度是n,下标从0到n−1.我们用 f(i)代表以第i个数结尾的连续子数组的最大和, ...
- 连续子数组的最大和Java
目录 题目要求 实现思路 代码展示 代码讲解 总结 题目要求 在一个数组中,找到连续子数组的最大和.重点是1.连续 2.最大 3.和.我们把它翻译成人话,举个例子:arr=[1, -2, 3, 1]. ...
- 连续子数组的最大和python_连续子数组的最大和
题目:输入一个整型数组,数组里有正数也有负数.数组中一个或连续的多个整数组成一个子数组.求元素和值最大的那个子数组的和值. C#实现:public static int FindGreatestSum ...
- 《剑指offer》-- 复杂链表的复制、字符串的排列、数组中出现次数超过一半的数字、连续子数组的最大和
一.复杂链表的复制: 参考牛客网的chancy:https://www.nowcoder.com/questionTerminal/f836b2c43afc4b35ad6adc41ec941dba 1 ...
最新文章
- python上海培训哪里比较好-python培训班上海哪里比较好?
- SAP CRM One Order OB,OW和DB buffer的调用关系图
- android p wifi一直在扫描_Android再次解读萤石云视频
- Linux下定时切割nginx日志并删除指定天数前的日志记录
- 在MATLAB中快速画圆(给出圆心坐标和半径就能直接画的那种)
- 三阶魔方学习(新手入门)
- java 全量_七、通过java代码实现增量、全量索引
- c语言pow函数算力,c语言pow函数算力
- 终于把所有的 Python 库都整理出来啦
- TextView字体加粗
- JavaScript刷LeetCode拿offer-贪心算法
- 如何分别是32位微型计算机,32位微型计算机中的32指的是啥
- 苹果CMS完全开发文档 - 苹果CMS手册 - 苹果CMS教程 - 苹果CMS帮助 - 苹果cmsV10
- 如何尽量不用百度等远离流氓软件随笔
- 《蜘蛛侠:平行宇宙》的视觉解析与滤镜实现
- R语言使用多个数据类型不同的向量数据创建一个dataframe数据对象、使用[]操作符和列名称访问dataframe指定数据列的数据(dataframe column data)
- R语言统计—频数统计
- Lora和Zigbee无线通讯技术的对比(哪种技术更适合物联网连接)
- Win7 下如何注册OCX控件 。0x80040200错误。
- 说说百度与google的搜索结果