码迷,mamicode.com
首页 > 编程语言 > 详细

数组求和

时间:2020-02-25 19:56:47      阅读:65      评论:0      收藏:0      [点我收藏+]

标签:list   整数   问题   max   pre   --   连续   求和   ann   

问题描述
  输入n个数,围成一圈,求连续m(m<n)个数的和最大为多少?
输入格式
  输入的第一行包含两个整数n, m。第二行,共n个整数。
输出格式
  输出1行,包含一个整数,连续m个数之和的最大值。
样例输入
10 3
9 10 1 5 9 3 2 6 7 4
样例输出
23
mport java.util.ArrayList;
import java.util.Scanner;


public class Main {
     public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            int n = sc.nextInt();
            int m = sc.nextInt();
            int [] num = new int [n+m];
            for (int i=0;i<n;i++){
                num[i]=sc.nextInt();
            }
            sc.close();

            for (int i=n;i<n+m;i++){
                num[i]=num[i-n];
            }

            int max = 0,sum=0;
            //把前m个累加
            for (int i=0;i<m;i++)
                sum+=num[i];
            
            //后m--n+m个
            for (int i=m;i<m+n;i++)
            {
                //减去上每个数的前一个 加上后一个
               sum=sum-num[i-m]+num[i];
               
               max=Math.max(max,sum);
            }
            System.out.println(max);

        }


}

 

数组求和

标签:list   整数   问题   max   pre   --   连续   求和   ann   

原文地址:https://www.cnblogs.com/shiaguang/p/12363069.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!