题解 | #【模板】前缀和#

【模板】前缀和

https://www.nowcoder.com/practice/acead2f4c28c401889915da98ecdc6bf

import java.util.*;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        
        //Map<String,Long> map=new HashMap<String,Long>();
        int n = in.nextInt();
        int q = in.nextInt();
        long num[]=new long[n+1];
        // 注意 hasNext 和 hasNextLine 的区别
        for(int i=1;i<=n;i++){
            num[i]=in.nextInt();
        }
        //long[][] dp=new long[n+1][n+1];
       // dp[0][0]=0;

        //for(int i=1;i<=n;i++){
           //dp[i][i]=num[i];
            //map.put(i+""+i,num[i]);
            //for(int j=i+1;j<=n;j++){
                //dp[i][j]=num[j]+dp[i][j-1];
                //.put(i+""+j,num[j]+map.get(i+""+(j-1)));
//}
//}
        long dp[]=new long[n+1];
        dp[0]=0;
       for(int i=1;i<=n;i++){
        dp[i]=dp[i-1]+num[i];
       }
       for(int i=0;i<q;i++){
        int a=in.nextInt();
        int b=in.nextInt();
        long sum=dp[b]-dp[a]+num[a];
        System.out.println(sum);
       }
    }
}

全部评论

相关推荐

今天 11:23
重庆邮电大学 C++
点赞 评论 收藏
分享
Noob1024:一笔传三代,人走笔还在
点赞 评论 收藏
分享
牛客279957775号:铁暗恋
点赞 评论 收藏
分享
点赞 评论 收藏
分享
1 收藏 评论
分享
牛客网
牛客企业服务