关注
//第二
package shangtang;
import java.util.Scanner;
/**
* @Param: 6
* 3 -1 8 6 5 2
* @Date: 2019/9/21 19:40
*/
public class Main2 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
sc.nextLine();
String inputs = sc.nextLine();
String[] s = inputs.split(" ");
if(s.length != n)
throw new RuntimeException("输入有误");
int[] nums = new int[n];
for(int i=0;i<n;i++)
nums[i] = Integer.valueOf(s[i]);
//如果全部数字小于0
boolean nf = true;
int minVal = Integer.MIN_VALUE;
for(int i=0;i<n;i++){
if(nums[i]>0){
nf = false;
break;
}
minVal = Math.max(minVal,nums[i]);
}
if(nf){
System.out.println(minVal);
return;
}
int maxVal = Integer.MIN_VALUE; //最大总和
int curVal = 0; // 当前总和
int startAddIndex = 0; //开始相加时候的下标 , 记录让和为0时的下标
for(;startAddIndex<n;startAddIndex++){
curVal = 0;
for(int i=startAddIndex;i<n+startAddIndex;i++){
int index = i%n;
curVal += nums[index];
if(curVal<0){
curVal = 0;
}
if(curVal>maxVal)
maxVal = curVal;
}
}
System.out.println(maxVal);
}
}
查看原帖
点赞 1
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 你认为小厂实习有用吗? #
13277次浏览 185人参与
# 面试官是我前女友 #
106823次浏览 730人参与
# 实习生的蛐蛐区 #
38851次浏览 324人参与
# 当你面对裁员会如何? #
275855次浏览 2438人参与
# 计算机有哪些岗位值得去? #
12563次浏览 131人参与
# lastday知无不言 #
56790次浏览 459人参与
# 在职场上,你最讨厌什么样的同事 #
14383次浏览 150人参与
# 推荐一首陪你工作的歌吧 #
13981次浏览 97人参与
# 说说你知道的学历厂 #
27440次浏览 174人参与
# 你找工作的时候用AI吗? #
14527次浏览 192人参与
# 下班后的时间你怎么安排 #
7156次浏览 111人参与
# 哪一瞬间觉得自己长大了 #
7123次浏览 160人参与
# 携程求职进展汇总 #
559343次浏览 4258人参与
# 面试尴尬现场 #
22938次浏览 160人参与
# 工作后会跟朋友渐行渐远吗 #
29990次浏览 216人参与
# 中核求职进展汇总 #
20092次浏览 152人参与
# 社会教会你的第一课 #
28609次浏览 388人参与
# 多益网络工作体验 #
49561次浏览 280人参与
# 虾皮求职进展汇总 #
244132次浏览 1797人参与
# 神州信息工作体验 #
15945次浏览 74人参与