index
title: 最大子序和 date: 2019-08-21T11:00:41+08:00 draft: false categories: leetcode
头条重点
题目
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。
如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。
解题思路
动态规划:{{}}f(i)=\begin{cases}num[i]&f(i-1)+num[i]<num[i]\f(i-1)+num[i] &f(i-1)+num[i]>num[i]\end{cases}{{}}
用
result[i]
保存以数字nums[i]
结尾的最大子序和,然后不断更新result
数组的最大值即可。总的时间复杂度O(n)
Last updated
Was this helpful?