蓝桥杯——BASIC-4——基础练习 数列特征

举报
fightingn 发表于 2022/02/22 21:21:03 2022/02/22
【摘要】 问题描述:给出n个数,找出这n个数的最大值,最小值,和。输入格式:第一行为整数n,表示数的个数。第二行有n个数,为给定的n个数,每个数的绝对值都小于10000。输出格式:输出三行,每行一个整数。第一行表示这些数中的最大值,第二行表示这些数中的最小值,第三行表示这些数的和。数据规模与约定:1 <= n <= 10000。分析:方法一,通过数组实现。创建一个数组,往数组中添加元素时顺便求和。然后...
问题描述:

给出n个数,找出这n个数的最大值,最小值,和。

输入格式:

第一行为整数n,表示数的个数。

第二行有n个数,为给定的n个数,每个数的绝对值都小于10000。

输出格式:
输出三行,每行一个整数。第一行表示这些数中的最大值,第二行表示这些数中的最小值,第三行表示这些数的和。
数据规模与约定:1 <= n <= 10000。
分析:
方法一,通过数组实现。创建一个数组,往数组中添加元素时顺便求和。然后用Arrays.sort()方法对数组排序,数组的首元素即是最小值,末元素即是最大值,直接输出即可。
变量实现。将输入值存储到临时变量中,然后求和并与当前的最大值、最小值进行比较,若大于当前的最大值则将临时变量的值赋给新的最大值,小于当前的最小值则将临时变量的值赋给新的最小值。
代码如下:
package day;
import java.util.List;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
public class day3 {
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//基础练习 数列特征
		System.out.println("输入整数n,表示数的个数");
		Scanner scanner = new Scanner(System.in);
		Integer n = scanner.nextInt();
		System.out.println("给定n个数,每个数的绝对值都小于10000");
	        List<Integer> arrayList=new ArrayList<Integer>();
	        for(int i=0;i<n;i++) {
		     arrayList.add(scanner.nextInt());
	}
	System.out.println(Collections.max(arrayList));
	System.out.println(Collections.min(arrayList));
	System.out.println(arrayListSum(arrayList));
	}
	private static Integer arrayListSum(List<Integer> arrayList) {
	Integer sum=0;
	for(int i=0;i<arrayList.size();i++) {
		
		sum+=arrayList.get(i);
	}
		return sum;
   }
}
样例输入:
5
1 3 -2 4 5
样例输出:
5
-2
11
运行效果如下:

Snipaste_2022-02-22_21-15-31.png


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。