题解 | 连续子数组的最大和
连续子数组的最大和
https://www.nowcoder.com/practice/459bd355da1549fa8a49e350bf3df484
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param array int整型一维数组 * @return int整型 */ // 连续子数组的最大和 // 思路:将当前连续子数组的和加上下一位元素,再与下一位元素比大小,进行判断 public int FindGreatestSumOfSubArray (int[] array) { // write code here if(array.length == 1) return array[0]; int max = array[0]; int[] dp = new int[array.length + 1]; dp[0] = array[0]; for(int i = 1; i < array.length; i++){ if(dp[i - 1] + array[i] <= array[i]){ dp[i] = array[i]; }else{ dp[i] = dp[i - 1] + array[i]; } max = Math.max(max,dp[i]); } return max; } }