博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
动态规划之最大子段和
阅读量:5167 次
发布时间:2019-06-13

本文共 399 字,大约阅读时间需要 1 分钟。

一、问题分析

如果采用暴力解决,即考虑子段的情况总数为1+2+...+n=O(n^2)。考虑动态规划算法,可以实现O(n)算法复杂度。

 

动态规划思想:

可以将一个大问题(N个元素数组)转化为一个较小的问题(N-1个元素的数组)。假设已经知道(A[1], ...,A[n-1])中和最大的一段数组之和为All[1],并且已经知道

 

(A[1],...,A[n-1])中包含A[1]的和最大的一段数组为Start[1]。那么不难看出 (A[0], ..., A[n-1])中问题的解All[0] = max{ A[0], A[0] + start[1], All[1] }。

这是从后向前的理解方式,也可以从前往后理解,即下面的程序:

 

二、程序设计

 

三、程序结果

如果序列全是负数的话,其实就是在选择最大值

转载于:https://www.cnblogs.com/cxmhy/p/4472472.html

你可能感兴趣的文章
20165208 2017-2018-2 《Java程序设计》第三周学习总结
查看>>
Python数据分析库pandas ------ pandas 删除重复元素、用映射替换添加元素、重命名轴索引、离散化、异常值检测和过滤、排序...
查看>>
ePass1000 Full ActiveX Control Reference Manual Version 2.0
查看>>
JavaScript 类型转换
查看>>
【转】ubuntu修改IP地址和网关的方法
查看>>
数据结构与算法(二)
查看>>
为知笔记发布到博客园代码高亮失效问题
查看>>
CentOS安装C函数库的man帮助
查看>>
BugkuCTF ---游戏过关 writeup
查看>>
字符串数组用头文件初始化,enum包含头文件
查看>>
Mybatis和Hibernate比较
查看>>
长方法重构过程
查看>>
fast incremental backup
查看>>
Leetcode-5040 Coloring A Border(边框着色)
查看>>
对拍程序
查看>>
Codeforces Round #181 (Div. 2) A. Array 构造
查看>>
BZOJ 4032: [HEOI2015]最短不公共子串 后缀自动机 暴力
查看>>
每周算法讲堂,二分法
查看>>
六月微博 (╯°Д°)╯ ┻┻ ┬┬ ノ( ' - 'ノ)
查看>>
Windows安装Subversion
查看>>