问题描述
问题链接 https://www.acwing.com/problem/content/424/
分析
- 先new一个boolean类型的新数组(boolean默认的值为false)
- 然后循环将每一个区间的值变为true
- 然后遍历数组,统计false的值即可
AC代码
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner scan=new Scanner(System.in);
int L=scan.nextInt();
int M=scan.nextInt();
//boolean默认值为false
boolean[] arr=new boolean[L+1];
while(M!=0)
{
int left=scan.nextInt();
int right=scan.nextInt();
for(int i=left;i<=right;i++)
{
arr[i]=true;
}
M--;
}
int count=0;
for(int i=0;i<=L;i++)
{
if(arr[i]==false)
{
count++;
}
}
System.out.println(count);
}
}