1.9-05:最大值和最小值的差

该程序读取一个整数序列的个数M和序列本身,然后使用C++编程找出序列中的最大值和最小值,并计算它们的差值。输入限制包括整数的数量不超过10000,每个整数的绝对值不超过10000。

总时间限制: 

1000ms

内存限制: 

65536kB

描述

输出一个整数序列中最大的数和最小的数的差。

输入

第一行为M,表示整数个数,整数个数不会大于10000;
第二行为M个整数,以空格隔开,每个整数的绝对值不会大于10000。

输出

输出M个数中最大值和最小值的差。

样例输入

5
2 5 7 4 2

样例输出

5

代码如下

#include<bits/stdc++.h> 
using namespace std;
int m,a[10010],mx=-10000,mn=10000;
int main()
{
	cin>>m;
	for(int i=1;i<=m;i++)
	{
		cin>>a[i];
		if(a[i]>mx)
		{
			mx=a[i];
		}
		if(a[i]<mn)
		{
			mn=a[i];
		}
	}
	cout<<mx-mn;
}

在编程中,获取数值数组中最大值最小值的索引位置是常见的需求,具体实现方式取决于所使用的语言数据结构。以下是几种常见语言的实现方法: ### Python 中获取索引 对于 Python 中的 `list` 类型,可以通过切片 `index()` 方法获取特定范围内最大值最小值的索引。例如: ```python c = [-10, -5, 0, 5, 3, 10, 15, -20, 25] min_index = c[3:6].index(min(c[3:6])) # 返回最小值在子数组中的索引 max_index = c.index(max(c[3:6])) # 返回最大值在整个数组中的索引 ``` 上述代码中,`min_index` 的值为 `1`,表示子数组 `[5, 3, 10]` 中最小值 `3` 的位置;`max_index` 的值为 `5`,表示最大值 `10` 在整个数组中的位置[^1]。 对于 `numpy` 数组,可以使用 `np.where()` `np.argmax()` / `np.argmin()` 来获取索引: ```python import numpy as np haha = np.array([[10, 20, 30], [40, 50, 60]]) fremin = [[0, 0, 0], [0, 0, 0]] fremax = [[2, 2, 2], [2, 2, 2]] j, k = 0, 0 start, end = fremin[j][k], fremax[j][k] fr = np.where(haha[j][k] == max(haha[j][k][start:end])) print(fr[0][0]) # 输出最大值在指定范围内的索引 ``` 该方法适用于多维数组,并能准确获取指定范围内的最大值位置[^1]。 ### JavaScript 中获取索引 在 JavaScript 中,可以通过遍历数组并记录最大值最小值的索引。例如: ```javascript var arr = [9, 2, 3, 15, 5]; function find() { var max = arr[0], min = arr[0]; var maxindex = 0, minindex = 0; for (var i = 0; i < arr.length; i++) { if (arr[i] > max) { max = arr[i]; maxindex = i; } else if (arr[i] < min) { min = arr[i]; minindex = i; } } console.log("最大值为:" + max + " 位置为:" + maxindex); console.log("最小值为:" + min + " 位置为:" + minindex); } find(); ``` 此代码通过一次遍历即可找到最大值最小值及其索引,适用于一维数组[^3]。 对于更复杂的场景,例如需要同时处理多个数组或嵌套结构,可以使用类似的逻辑进行扩展。例如: ```javascript var numArr = [1, 99, 88, -110, 77, 89, 10010, -100]; var maxValue = numArr[0], minValue = numArr[0]; var maxIndex = 0, minIndex = 0; for (var i = 0; i < numArr.length; i++) { if (numArr[i] > maxValue) { maxValue = numArr[i]; maxIndex = i; } if (numArr[i] < minValue) { minValue = numArr[i]; minIndex = i; } } console.log(maxValue); console.log(minValue); console.log(maxIndex); console.log(minIndex); ``` 该实现确保最大值最小值的索引被准确记录,适用于一维数组的通用处理[^4]。 ### 多维数组中的索引处理 在 Python 中,若处理多维数组(如 `numpy` 的 `ndarray`),可以使用 `np.unravel_index()` 来获取最大值最小值在多维数组中的具体位置。例如: ```python import numpy as np A = np.array([[5.1, 4.1, 3.1, 2.1], [1.1, 0.1, 0.9, 1.9]]) min_index = np.unravel_index(np.argmin(A), A.shape) # 获取最小值的索引 print(min_index) # 输出 (1, 1) ``` 此方法将扁平化后的索引转换为多维索引,适用于二维及以上数组的索引查找[^2]。 ### 相关问题 1. 如何在 Python 中高效查找数组中最大值最小值的索引? 2. 如何在 JavaScript 中处理多维数组并获取最大值最小值的位置? 3. 如何在 NumPy 中结合切片操作获取数组特定范围内的最大值最小值索引? 4. 如何在 Python 中对多维数组进行快速索引查找? 5. 如何在 JavaScript 中实现动态更新数组并实时获取最大值最小值索引?
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值