给定一个长度为
的数组,数组中的数为整数。
请你选择一个非空连续子数组,使该子数组所有数之和尽可能大。求这个最大值。
第一行为一个正整数,代表数组的长度。
第二行为个整数
,用空格隔开,代表数组中的每一个数。
连续子数组的最大之和。
3 3 -4 5
5
选择 [5] 这个子数组即可。
3 4 -3 5
6
选择 [4,-3,5] 这个子数组。
package main import( "fmt" "math" ) func main() { max := math.MinInt32 var n int fmt.Scanln(&n) arr := make([]int, n+1) for i:=1; i<=n; i++ { fmt.Scanf("%d", &arr[i]) if temp := arr[i]+arr[i-1]; temp > arr[i] { arr[i] = temp } if max < arr[i] { max = arr[i] } } fmt.Println(max) }加个go