关注
区间覆盖问题,先排序所有区间,再贪心来做。 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
相关推荐
牛客热帖
正在热议
# 25届秋招总结 #
430063次浏览 4354人参与
# 实习,投递多份简历没人回复怎么办 #
2449546次浏览 34812人参与
# 阿里云管培生offer #
66660次浏览 1796人参与
# 地方国企笔面经互助 #
7538次浏览 18人参与
# ai智能作图 #
37627次浏览 456人参与
# 虾皮求职进展汇总 #
103046次浏览 825人参与
# 北方华创开奖 #
68476次浏览 562人参与
# 发工资后,你做的第一件事是什么 #
11272次浏览 55人参与
# 实习想申请秋招offer,能不能argue薪资 #
38453次浏览 313人参与
# 机械求职避坑tips #
24340次浏览 253人参与
# 工作中,努力重要还是选择重要? #
34043次浏览 377人参与
# 我的实习求职记录 #
6148758次浏览 84113人参与
# 你投递的公司有几家约面了? #
32907次浏览 186人参与
# 25届机械人为了秋招做了哪些准备? #
26904次浏览 367人参与
# 软件开发投递记录 #
1485263次浏览 23970人参与
# 机械人怎么评价今年的华为 #
158612次浏览 1354人参与
# 提前批简历挂麻了怎么办 #
149378次浏览 1971人参与
# 如果再来一次,你还会选择这个工作吗? #
122019次浏览 1188人参与
# 工作两年想退休了 #
56219次浏览 724人参与
# 投递实习岗位前的准备 #
1194385次浏览 18511人参与
# 华为工作体验 #
112997次浏览 874人参与
# 我在牛爱网找对象 #
75325次浏览 557人参与