c++版给定一个长度为n的非负整数序列,请计算序列的“最大跨度值”。最大跨度值是指用序列中的最大数减去最小数
时间: 2024-02-28 16:57:45 浏览: 21
好的,针对你的问题,我来为你提供一个c++的解法:
```c++
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
int n;
cin >> n;
vector<int> nums(n);
for (int i = 0; i < n; i++) {
cin >> nums[i];
}
int max_num = *max_element(nums.begin(), nums.end());
int min_num = *min_element(nums.begin(), nums.end());
int max_span = max_num - min_num;
cout << max_span << endl;
return 0;
}
```
这个程序首先读入一个长度为n的非负整数序列,然后使用STL中的`max_element`和`min_element`函数找到最大数和最小数,最后计算它们的差值作为最大跨度值输出。
相关问题
给定一个长度为n的非负整数序列,请计算序列的最大跨度值(最大跨度值 = 最大值减去最小值)
首先,我们需要找到序列中的最大值和最小值。可以遍历整个序列,依次比较每个数与当前最大值和最小值的大小关系,更新最大值和最小值。
然后,计算最大跨度值,即最大值减去最小值。
代码实现:
def max_span(nums):
max_num = nums[0]
min_num = nums[0]
for num in nums:
if num > max_num:
max_num = num
if num < min_num:
min_num = num
return max_num - min_num
示例:
nums = [1, 5, 3, 9, 2]
print(max_span(nums)) # 输出:8
给定一个长度为n的非负整数序列,请计算序列的最大跨度值(最大跨度值 = 最大值减去最小值)。
可以使用以下代码来计算序列的最大跨度值:
```
def max_span(nums):
max_num = max(nums)
min_num = min(nums)
return max_num - min_num
```
其中,`nums` 是长度为 `n` 的非负整数序列,`max()` 和 `min()` 函数分别返回序列中的最大值和最小值,然后计算它们的差值即可得到最大跨度值。