解题思路:
一个简单的最大字段和模版题,边读入边判断,用一个sum来存储前一段区间的和,如果sum大于max,就把sum赋值给max,max的初值根据题目数据的范围设置为-10001,如果sum小于0就把sum设为0.思路没有问题,就是测试数据出错了。
注意事项:
这道题的测试数据出错了,Java读不了这个数据,c语言能读这种数据,但是Java会报运行时错误,特意用字符串读取才发现报的错误是什么,之前直接用sc.nextInt读取报了输入字符不匹配

TIM图片20181116213413.png参考代码:

import java.util.Scanner;


//Java的测试数据出错了。。


public class Main {

public static void main(String[] args) {

Scanner sc=new Scanner(System.in);

int n=sc.nextInt();

int sum=0;

int max=-10001;

    int a;        

for(int i=0;i<n;i++){

a=Integer.parseInt(sc.next());

//特意用字符串读取才发现报的错误是什么,之前直接用sc.nextInt读取报了输入字符不匹配

sum+=a;

if(sum>max)

max=sum;

if(sum<0)

sum=0;

}

System.out.println(max);

sc.close();

}

}


点赞(0)
 

0.0分

2 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 1 条评论

Y 4年前 回复TA
意思是这题java无法解吗