数列特征(找最大值、最小值、和)

问题描述

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

输入格式

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

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

输出格式
输出三行,每行一个整数。第一行表示这些数中的最大值,第二行表示这些数中的最小值,第三行表示这些数的和。
样例输入
5
1 3 -2 4 5
样例输出
5
-2
11
数据规模与约定
1 <= n <= 10000。

import java.util.Scanner;

public class Main {
	static int min;
	static int max;
	static int sum;
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt(), a[] = new int[n];		
		for(int i=0; i<a.length; i++) a[i] = sc.nextInt();
		sc.close();
		solve(a);		
		System.out.println(max+"\n"+min+"\n"+sum);		
	}
	
	public static void solve(int a[]){
		min = a[0];
		max = a[0];
		sum = 0;
		for(int i=0; i<a.length; i++) if(max < a[i]) max = a[i];	
		for(int j=0; j<a.length; j++) if(min > a[j]) min = a[j];
		for(int z=0; z<a.length; z++) sum += a[z];
	}
}

在Matlab中,可以使用`max``min`函数来求数列最大值最小值,以下是详细介绍: ### 求向量的最大值最小值 - **求向量最大值**: - `y = max(X)`:返回向量`X`的最大值存入`y` ,如果`X`中包含复数元素,则按模取最大值。 - `[y,I] = max(X)`:返回向量`X`的最大值存入`y`,最大值的序号存入`I`,如果`X`中包含复数元素,则按模取最大值。 - **求向量最小值**:`min(X)`的用法`max(X)`完全相同。 示例代码如下: ```matlab X = [-43, 72, 9, 16, 23, 47]; y_max = max(X); % 求向量X中的最大值 [y_max, I_max] = max(X); % 求向量X中的最大值及其该元素的位置 y_min = min(X); % 求向量X中的最小值 [y_min, I_min] = min(X); % 求向量X中的最小值及其该元素的位置 ``` ### 求矩阵的最大值最小值 - **求矩阵最大值**: - `max(A)`:返回一个行向量,向量的第`i`个元素是矩阵`A`的第`i`列上的最大值。 - `[Y,U] = max(A)`:返回行向量`Y``U`,`Y`向量记录`A`的每列的最大值,`U`向量记录每列最大值的行号。 - `max(A,[],dim)`:`dim`取 1 或 2 。`dim`取 1 时,该函数`max(A)`完全相同;`dim`取 2 时,该函数返回一个列向量,其第`i`个元素是`A`矩阵的第`i`行上的最大值。 - **求矩阵最小值**:`min`函数的用法`max`完全相同。 示例代码如下: ```matlab A = [1, 2, 3; 4, 5, 6; 7, 8, 9]; max_col = max(A); % 返回每列的最大值 [max_col, row_index] = max(A); % 返回每列的最大值及其行号 max_row = max(A, [], 2); % 返回每行的最大值 min_col = min(A); % 返回每列的最小值 [min_col, row_index] = min(A); % 返回每列的最小值及其行号 min_row = min(A, [], 2); % 返回每行的最小值 ``` ### 两个向量或矩阵对应元素的比较 函数`max``min`还能对两个同型的向量或矩阵进行比较: - `U = max(A,B)`:`A`、`B`是两个同型的向量或矩阵,结果`U`是与`A`、`B`同型的向量或矩阵,`U`的每个元素等于`A`、`B`对应元素的较大者。 - `U = max(A,n)`:`n`是一个标量,结果`U`是与`A`同型的向量或矩阵,`U`的每个元素等于`A`对应元素`n`中的较大者。 `min`函数的用法`max`完全相同。 示例代码如下: ```matlab A = [1, 2, 3]; B = [4, 1, 6]; U_max = max(A, B); % 对应元素比较取较大值 U_min = min(A, B); % 对应元素比较取较小值 n = 2; U_max_n = max(A, n); % 与标量比较取较大值 U_min_n = min(A, n); % 与标量比较取较小值 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值