最强解析面试题:最大连续和
Posted 魏小言
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了最强解析面试题:最大连续和相关的知识,希望对你有一定的参考价值。
文章目录
最强解析面试题:最大连续和
文章讲解 “ 最大连续和 ” 经典面试题,包含思路及源码,及解惑!
题目
给出一个长度为n的序列A1,A2,……,An,求最大连续和,即找到1<=i<=j<=n,使得Ai+Ai+1+…Aj尽量大。
思路
- 动态规划
- 边界条件为 x=0 max = A1
- 主线条件为 Max(tar[i], res[i-1]+tar[i])
代码
func main()
fmt.Println("res:", Res())
func Res() int
var tar = []int-1, 2, 1
var res [3]int
r := tar[0]
for i := 0; i < len(tar); i++
if i == 0
res[i] = tar[i]
else
res[i] = Max(tar[i], res[i-1]+tar[i])
r = Max(r, res[i])
return r
func Max(a, b int) int
if a > b
return a
return b
附录
自负和自大真的是搞笑!
以上是关于最强解析面试题:最大连续和的主要内容,如果未能解决你的问题,请参考以下文章