题解 | #值周#

值周

https://ac.nowcoder.com/acm/problem/24636

暴力会超时,在这里使用前缀和。


import java.util.Scanner;

public class Main{
    public static void main(String []args){
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        int n = sc.nextInt();
        int []a = new int[N+1];
        int []sum = new int[N+1];
        for(int i = 0;i<n;i++){
            int start = sc.nextInt();
            int end = sc.nextInt();
            a[start]++;
            if(end+1<N+1)     a[end+1]--;
        }
        sum[0]=a[0];
        int ans = 0;
        for(int i=1;i<N+1;i++){
            sum[i] = sum[i-1]+a[i];
            if(sum[i]==0){
                ans++;
            }
        }
        if(a[0]==0){
            ans++;
        }
        System.out.println(ans);
    }
}

全部评论

相关推荐

11-26 22:34
已编辑
重庆邮电大学 Java
快手 客户端开发 (n+5)k*16 公积金12
点赞 评论 收藏
分享
10-14 10:56
已编辑
长沙学院 嵌入式软件开发
痴心的00后拿到了ssp:hr面挂了,无所谓了反正不去😃
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务