leetcode-最大连续子数组的和-25

题目要求
  求一个数组的最大连续子数组的和,数组中肯定有负数。
思路
  采用动归的方式。
  子问题:局部数字构成的数组,它的最大连续和
  状态F(i):前i个元素组成的数组,它的最大连续子序列的和
  转移方程:F(i) = max(F(i-1)+a[i],a[i])
图解
在这里插入图片描述
代码实现

	class Solution {
public:
	int FindGreatestSumOfSubArray(vector<int> array) {
		if (array.empty())
		{
			return 0;
		}

		int ret = array[0];
		for (int i = 1; i < array.size(); i++)
		{
			array[i] = max(array[i - 1] + array[i], array[i]);
			ret = max(ret, array[i]);
		}

		return ret;
	}
};

猜你喜欢

转载自blog.csdn.net/weixin_43580319/article/details/114269816