C++でピーク要素を見つける
このチュートリアルでは、指定された配列のピーク要素を見つけるプログラムを作成します
ピーク要素は、周囲の要素よりも大きい要素です。問題を解決するための手順を見てみましょう。
-
ダミーデータでアレイを初期化します。
-
元素のピーク状態について、最初の元素と最後の元素を確認します。
-
2番目の要素から配列を繰り返し処理します。
-
現在の要素が前の要素および次の要素よりも大きいかどうかを確認します。
-
上記の条件が満たされている場合に戻ります。
-
-
結果を印刷する
例
コードを見てみましょう。
#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++で三角形の周囲を検索
この問題では、三角形の周囲長、さまざまなタイプの三角形の周囲長の式、およびそれらを見つけるためのプログラムを確認します。 境界 フィギュアの周りの合計距離として定義されます。基本的に、それは与えられた図のすべての辺の合計です。 三角形の周囲 三角形の周囲は、その3つの辺すべての合計です(三角形は3つの辺の図です)。 式、 Perimeter = sum of all sides Perimeter = x + y + z 三角形の周囲を見つけるプログラム 例 #include <iostream> using namespace std; int calcPe
-
Pythonでピーク要素を見つける
配列内のピーク要素を見つける必要があるとします。ピーク要素は、隣接する要素よりも大きい要素です。入力配列numsがあり、nums[i]≠nums[i + 1]であるとすると、ピーク要素を検索してそのインデックスを返します。配列は複数のピーク要素を保持できます。その場合、インデックスはピーク要素のいずれかに返されます。 nums [-1] =nums[n]=-∞と想像できます。したがって、配列が[1,2,1,3,5,6,4]のような場合、ピーク要素は1または5である必要があります。 これを解決するには、次の手順に従います- low:=0およびhigh:=配列の最後のインデックス、n:=配列