C++ 算法:计算序列的最大跨度值

本篇文章将介绍如何使用 C++ 语言计算给定非负整数序列的最大跨度值。最大跨度值定义为序列中最大值减去最小值的差值。我们将提供一个简单的代码示例来演示如何实现该算法。

问题描述

给定一个长度为 n 的非负整数序列,请计算序列的最大跨度值。

输入格式

一共 2 行:

  • 第一行为序列的个数 n (1 ≤ n ≤ 1000)
  • 第二行为序列的 n 个不超过 1000 的非负整数,整数之间以一个空格分隔。

输出格式

输出一行,表示序列的最大跨度值。

示例

用例输入 1

6
3 0 8 7 5 9

用例输出 1

9

代码实现

#include <iostream>
#include <vector>
#include <algorithm>

int main() { int n; std::cin >> n;

std::vector&lt;int&gt; nums(n);
for (int i = 0; i &lt; n; i++) {
    std::cin &gt;&gt; nums[i];
}

int max_val = *std::max_element(nums.begin(), nums.end());
int min_val = *std::min_element(nums.begin(), nums.end());

int max_span = max_val - min_val;

std::cout &lt;&lt; max_span &lt;&lt; std::endl;

return 0;

}

算法解释

代码中使用了一个向量 nums 来存储输入的序列,然后使用 std::max_elementstd::min_element 函数分别找到序列中的最大值和最小值。最后,用最大值减去最小值即可得到最大跨度值。

总结

本文介绍了使用 C++ 语言计算序列最大跨度值的简单算法,并提供了代码示例。该算法简单易懂,适合初学者学习。希望本文能够帮助你更好地理解和应用 C++ 语言进行算法开发。


原文地址: https://www.cveoy.top/t/topic/p65Y 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录