在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

结论

以上是 在C ++中查找峰值元素 的全部内容, 来源链接: utcz.com/z/359498.html

回到顶部