PDD拼多多面试题 /** *太菜了,临场没写出来,难受,面完就会写了,最简单的实现 在一个一维坐标,给出一个目标线段,例如(3, 8)。一组源线段,例如(1, 2),(3, 4), (5, 8), (3, 6)。判断源线段组成的合集是否能完全覆盖目标线段,返回 true 或 false * * 输入: * const data = [3, 8]; * const source = [[1, 2], [3, 4], [5, 8], [3, 6]]; * 输出: * true * 实现思路: 主要是如何将源线段合并 * * 1.先将源线段根据起始点排序 * 2.再去遍历源线段,每次通过下一个线段的起点与当前终点比较,判断是否又交集,如果有,则合并,如果没有,说明是分开的线段,分开存储 * 3.遍历合并后的源线段,判断是否完全包含目标线段 */
1.定义Line结构
public class Line {
int left ;
int right;
public Line() {
}
public Line(int left, int right) {
this.left = left;
this.right = right;
}
}
2.fun
public static boolean fun(List<Line> list, Line line){
//排序
Collections.sort(list, new Comparator<Line>() {
@Override
publ