在 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
結論
如果您對本教程有任何疑問,請在評論區留言。
廣告