keep笔试第一题不能全部通过哪里错了???

import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.Scanner;

public class Keep {
public static void main(String[] args) {
//输入
Scanner sc = new Scanner(System.in);
String s =sc.nextLine();
ArrayList<Interval> intervals= new ArrayList<>();
String [] split= s.split(" ");
for(int i=0;i<split.length;i++){
String[] ss= split[i].split(",");
Interval interval= new Interval();
interval.start=Integer.valueOf(ss[0]);
interval.end=Integer.valueOf(ss[1]);
intervals.add(interval);
}


int flag=0;
intervals.sort(new Comparator<Interval>() {

@Override
public int compare(Interval o1, Interval o2) {
return o1.start==o2.start?o1.end-o2.end:o1.start-o2.start;
}
});
for(int i=0;i<intervals.size()-1;i++){
if(intervals.get(i+1).start<intervals.get(i).end){
flag=1;
}
//加上此段代码通过率80%,不加40%
// if(intervals.get(i+1).start==intervals.get(i).start){
// flag=1;
// }
}
if(flag==1){
System.out.println("flase");

}else{
System.out.println("true");
}

}
}

class Interval {
int start;
int end;

Interval() {
start = 0;
end = 0;
}

Interval(int s, int e) {
start = s;
end = e;
}
}




#Keep#
全部评论
是课程冲突的题目吧? 你这代码输入没有处理好。 应该直接按空格拆分,再按逗号拆分的。 而不是像你代码所写的  先告诉你有几节课这样...
点赞 回复 分享
发布于 2018-08-23 21:28
没有return啊,出现前一个数大于后一个数就直接打印false,return结束了
点赞 回复 分享
发布于 2018-08-23 22:54
我一直百分之八十,狠迷,想了n种可能漏的测试,还是八十
点赞 回复 分享
发布于 2018-08-23 22:47
flag=1,设为false后,直接break;剩下的就不用判断了
点赞 回复 分享
发布于 2018-08-23 21:25
求大佬指点一二
点赞 回复 分享
发布于 2018-08-23 21:25

相关推荐

酷酷的喜马拉雅山:感觉这比一直在初筛不动的好多了
点赞 评论 收藏
分享
Sigma429:极兔啊,薪资开的巨低,还在上海,索性不做笔试了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务