牛客网: 连续子数组最大和_牛客题霸_牛客网
给定一个长度为 nn 的数组,数组中的数为整数。
请你选择一个非空连续子数组,使该子数组所有数之和尽可能大,子数组最小长度为1。求这个最大值。
输入描述:第一行为一个正整数 nn ,代表数组的长度。 1leq n leq2*10^51≤n≤2∗105
第二行为 nn 个整数 a_iai,用空格隔开,代表数组中的每一个数。 |a_i| leq 10^2∣ai∣≤102
输出描述:连续子数组的最大之和。
示例1输入:
8 1 -2 3 10 -4 7 2 -5
输出:
18
说明:
经分析可知,输入数组的子数组[3,10,-4,7,2]可以求得最大和为18思路
以 [ -1, 2, -5, 3, 8]为例
1. subSum[0] = -1, max = -1
subSum[1] = 2, max=2
subSum[2] = -3, max=2
subSum[3] = 0, max=2
subSum[4] = 8, max = 8
import java.util.Scanner;
public class Main{
public static int maxLen(int len, int a[]){
int maxsum;
int subSum[] = new int[len];
subSum[0]=a[0];
maxsum=subSum[0];
for(int i=1;i



