c++给定一个整数数组 arr arr = [10, 3, 5, 6, 20],编写一个函数找出数组中任意两个不同元素之间的最大差值。输出数组中任意两个不同元素之间的最大差值。 输出: 17
时间: 2024-09-20 22:07:40 浏览: 37
在 C++ 中,你可以通过遍历数组并记录当前找到的最大差值来解决这个问题。这里是一个简单的示例代码:
```cpp
#include <iostream>
#include <vector>
int maxDifference(const std::vector<int>& arr) {
if (arr.empty()) return 0; // 如果数组为空,返回0
int min_val = arr[0]; // 初始化最小值为第一个元素
int max_diff = 0; // 初始最大差值为0
for (size_t i = 1; i < arr.size(); ++i) {
if (arr[i] < min_val) {
min_val = arr[i];
} else {
max_diff = std::max(max_diff, arr[i] - min_val); // 更新最大差值
}
}
return max_diff;
}
int main() {
std::vector<int> arr = {10, 3, 5, 6, 20};
int result = maxDifference(arr);
std::cout << "Array中任意两个不同元素之间的最大差值: " << result << std::endl;
return 0;
}
```
当你运行这个程序,它会输出 `17`,因为最大差值是在 `20` 和 `3` 之间得到的。
阅读全文