AcWing 422. 校门外的树合并区间Java
原题链接
简单
作者:
还想听你的故事
,
2021-01-16 09:24:33
,
所有人可见
,
阅读 365
import java.util.*;
public class Main{
private static int l;
private static int m;
public static void main(String[]args){
Scanner sc=new Scanner(System.in);
l=sc.nextInt();
m=sc.nextInt();
int nums[][]=new int[m][2];
for(int i=0;i<m;i++){
nums[i][0]=sc.nextInt();
nums[i][1]=sc.nextInt();
}
Arrays.sort(nums,(a,b)->a[0]-b[0]);
int temp[]=nums[0];
List<int[]>list=new ArrayList<>();
for(int i=1;i<m;i++){
if(temp[1]>nums[i][0]){
temp[1]=Math.max(temp[1],nums[i][1]);
}
else{
list.add(temp);
temp=nums[i];
}
}
list.add(temp);
int[][]res=list.toArray(new int[list.size()][]);
int cnt=l+1;
for(int []cur:res){
cnt-=(cur[1]-cur[0]+1);
}
System.out.println(cnt);
}
}