在 C++ 中查找峰值元素
在本教程中,我们将编写一个程序来查找给定数组中的峰值元素
峰值元素是大于周围元素的元素。我们来看看解决这个问题的步骤。
用虚拟数据初始化数组。
检查第一个元素和最后一个元素是否满足峰值条件。
从第二个元素开始遍历数组。
检查当前元素是否大于前一个元素和后一个元素。
如果满足上述条件,则返回。
打印结果
示例
让我们看看代码。
#include <bits/stdc++.h> using namespace std; int findPeakElement(int arr[], int n) { if (n == 1) { return arr[0]; } if (arr[0] >= arr[1]) { return arr[0]; } if (arr[n - 1] >= arr[n - 2]) { return arr[n - 1]; } for (int i = 1; i < n - 1; i++) { if (arr[i] >= arr[i - 1] && arr[i] >= arr[i + 1]) { return arr[i]; } } return arr[0]; } int main() { int arr[] = { 1, 2, 5, 4, 7 }; cout << findPeakElement(arr, 5) << endl; return 0; }
输出
如果运行以上代码,您将得到以下结果。
7
结论
如果您对本教程有任何疑问,请在评论区留言。
广告