数组连续和

标题:数组连续和 | 时间限制:1秒 | 内存限制:65536K | 语言限制:不限
给定一个含有N个正整数的数组, 求出有多少个连续区间(包括单个正整数), 它们的和大于等于x。


import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while(sc.hasNextLine()) {
            String[] params = sc.nextLine().trim().split(" ");
            int numCount = Integer.parseInt(params[0]);
            int finalNumber = Integer.parseInt(params[1]);
            String[] numstrArray2 = sc.nextLine().trim().split(" ");
            int[] numArr = new int[numCount];
            for (int i = 0; i < numCount; i++) {
                numArr[i] = Integer.parseInt(numstrArray2[i]);
            }
            long sum = 0;
            long count = 0;
            int j = 0;
            for (int i = 0; i < numCount; i++) {
                sum += numArr[i];
                while(sum >= finalNumber && j <= i) {
                    count += numCount - i;
                    sum -= numArr[j];
                    j++;
                }
            }
            System.out.println(count);
        }
        sc.close();
    }
}


全部评论

相关推荐

瑞雪兆丰年_:可以贴个超级大的校徽,以防HR眼拙
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务