import java.util.Scanner; import java.lang.*; public class Main{ public static void main(String[] args){ Scanner in = new Scanner(System.in); int n = in.nextInt(); int[] arr = new int[n]; for(int i = 0; i< n; i++){ arr[i] = in.nextInt(); } int res = arr[0]; int max = arr[0]; //存放连续数组的和 for(int i = 1; i < n; i++){ max = Math.max(max + arr[i], arr[i]);//如果连续数组的和小于当前数组i元素的值,那么就从arr[i]开始重新连续 res = Math.max(res, max); } System.out.println(res); } }
原文:https://www.cnblogs.com/gy7777777/p/13173046.html