算法之前缀和1

package com.zhang.reflection.面试.算法模版.前缀和;
import java.util.Scanner;
/**这道题比较简单,主要用于理解前缀和的应用
 *
 * 给定一个长度为n的数组a_1, a_2,....a_n
 * 接下来有q次查询, 每次查询有两个参数l, r.
 * 对于每个询问, 请输出a_l+a_{l+1}+....+a_r的和
 *
 * 输入:
 * 3 2(n q)
 * 1 2 4
 * 1 2
 * 2 3
 * 输出:
 * 3
 * 6
 */
public class 前缀和 {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        int n=sc.nextInt();
        int q=sc.nextInt();
        long[] nums=new long[n+1];
        for(int i=1;i<=n;i++){
            //输入时进行处理,记录到该位置的前n个数的和
            nums[i]=sc.nextLong()+nums[i-1];
        }
        for(int i=1;i<=q;i++){
            int l=sc.nextInt();
            int r=sc.nextInt();
            //r-(l-1)即为所求的结果
            System.out.println(nums[r]-nums[l-1]);
        }
    }
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-07 18:05
哈哈哈哈哈感觉朋友找工作的已经疯掉了,直接上图
码农索隆:真老板娘:“我嘞个去,这不我当年的套路吗
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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