/**
* 连续子数组的最大和
* 思路:最大子数组的和一定是由当前元素和之前最大连续子数组的和叠加在一起形成的
*/
public class Solution {
public int FindGreatestSumOfSubArray(int[] array) {
if(array.length==0||array==null)
{
return 0;
}
int maxSum = array[0];
int LocalMaxSum = array[0];
for (int i = 1; i < array.length; i++) {
LocalMaxSum = Math.max(array[i],LocalMaxSum+array[i]);
maxSum = Math.max(LocalMaxSum,maxSum);
}
return maxSum;
}
public static void main(String[] args) {
int[] array = {6,-3,-2,7,-15,1,2,2};
Solution solution = new Solution();
int res = solution.FindGreatestSumOfSubArray(array);
System.out.println(res);
}
}
连续子数组最大和
最新推荐文章于 2022-10-03 22:40:51 发布