关注
区间覆盖问题,先排序所有区间,再贪心来做。 import java.util.Arrays;
import java.util.Scanner;
public class E3 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while(in.hasNext()) {
int n = in.nextInt();
int l = in.nextInt();
int[][] interval = new int[n][2];
for(int i = 0; i < n; ++i) {
interval[i][0] = in.nextInt();
interval[i][1] = in.nextInt();
}
Arrays.sort(interval, (a, b) -> {return a[0] == b[0] ? a[1] - b[1] : a[0] - b[0];});
boolean able = true;
int i = 0, k = 0;
int max = 0; //最右能到的位置
int start = 0; //起始位置
int cnt = 0;//区间数
while(start < l) {
if(interval[k][0] > start) {
able = false;
break;
}
for(i = k; i < n; ++i) {
if(interval[i][0] <= start) {
max = Math.max(interval[i][1], max);
} else {
++cnt;
start = max;
k = i;
break;
}
}
if(i == n) {
++cnt;
break;
}
}
if(able) {
System.out.println(cnt);
} else {
System.out.println(-1);
}
}
}
}
查看原帖
点赞 1
相关推荐
点赞 评论 收藏
转发
点赞 评论 收藏
转发
投递蔚来等公司7个岗位 >
点赞 评论 收藏
转发
牛客热帖
正在热议
# 牛客帮帮团来啦!有问必答 #
365094次浏览 7431人参与
# 晒一晒我的offer #
2779277次浏览 49585人参与
# 在国企工作的人,躺平了吗? #
70286次浏览 853人参与
# 非技术岗薪资爆料 #
5777次浏览 122人参与
# 华为求职进展汇总 #
435453次浏览 4374人参与
# 第一次面试 #
14493次浏览 229人参与
# 你更愿意参加线上面试还是线下面试? #
5608次浏览 85人参与
# 简历中的项目经历要怎么写 #
375847次浏览 6327人参与
# 应届生应该先就业还是先择业 #
11281次浏览 111人参与
# 租房前辈的忠告 #
20017次浏览 1588人参与
# 除了offer,现在你还缺点啥? #
2309次浏览 48人参与
# 机械人怎么评价今年的华为 #
50866次浏览 414人参与
# 谈薪时HR压价该怎么应对 #
32489次浏览 201人参与
# 找工作,你会甘心进小厂还是猛冲大厂 #
22379次浏览 214人参与
# 来聊聊机械薪资天花板是哪家 #
19365次浏览 157人参与
# 通信硬件薪资爆料 #
140197次浏览 1021人参与
# 如何确定求职岗位 #
101526次浏览 2406人参与
# 百度工作体验 #
19091次浏览 208人参与
# 应届生初入职场,求建议 #
21358次浏览 528人参与
# 海信求职进展汇总 #
6847次浏览 91人参与