题目要求
P1614题目链接
既然是要求最小连续和,那就需要存储连续的M个数据,还需要保存最小的和以及当前的和。
先开循环,把M和数据读入M长度数组中,保存好数据,完成求和。
接下来就是后续处理了。 试想:如果我们不存储每个数,那后续就没法进行了…… 所以每个数都要存储,但不能每次都全部折腾一遍,那怎么办呢? 就嘿嘿嘿,用类似循环队列的数组吧,只不过这个队列必然是满的,每次都是换下去一个而已。 怎么实现呢?其实很简单,就需要一个int类型的指针,标记最早进入数组的一个数据的索引就可以啦。 变更pointer的代码是pointer = (pointer+1)%range;
过程中的操作,多仔细一些就好啦。
AC代码(Java语言描述)import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int num = scanner.nextInt(), range = scanner.nextInt(), sum = 0, pointer = 0, tempSum;
int[] array = new int[range];
for (int i = 0; i
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?