ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript で中央ピークの配列のピークを見つける

JavaScript で中央ピークの配列のピークを見つける

WBOY
WBOY転載
2023-08-24 12:21:07808ブラウズ

在 JavaScript 中查找中心峰值数组的峰值

#Center Peak Array

次のプロパティが満たされる場合、配列を arr

Center Peak Array -# と呼びます。

    ##arr.length >= 3
  • ## のような i と 0 #arr[0]

  • arr[i] > arr[i 1] > .. . > arr[arr.length - 1]

Question 数値配列を受け入れる JavaScript 関数を作成する必要がありますarr を最初の唯一のパラメータとして指定します。

入力配列は中心ピーク配列です。私たちの関数は、この中央ピーク配列のピーク インデックスを返す必要があります。

たとえば、関数への入力が

input

const arr = [4, 6, 8, 12, 15, 11, 7, 4, 1];
output

const output = 4;
の場合 出力の説明

インデックス 4 (15) の要素が配列のピーク要素であるためです。

以下はコードです -

ライブデモンストレーション

const arr = [4, 6, 8, 12, 15, 11, 7, 4, 1];
const findPeak = (arr = []) => {
   if(arr.length < 3) {
      return -1
   }
   const helper = (low, high) => {
      if(low > high) {
         return -1
      }
      const middle = Math.floor((low + high) / 2)
      if(arr[middle] <= arr[middle + 1]) {
         return helper(middle + 1, high)
      }
      if(arr[middle] <= arr[middle - 1]) {
         return helper(low, middle - 1)
      }
      return middle
   }
   return helper(0, arr.length - 1)
};
console.log(findPeak(arr));

出力

4

以上がJavaScript で中央ピークの配列のピークを見つけるの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。