Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

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


中央にピークのあるアレイ

アレイを中央にピークのあるアレイと呼びます。 次のプロパティが当てはまる場合-

  • arr.length> =3

  • 0

    • arr [0]

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

問題

最初で唯一の引数として、数値の配列arrを受け取るJavaScript関数を作成する必要があります。

入力配列は、中央にピークのある配列です。この関数は、この中央にピークのある配列のピークインデックスを返すことになっています。

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

入力

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

出力

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

  1. Javascriptで配列を空にする方法

    JavaScriptで配列をクリア/空にする方法は複数あります。コンテキストに基づいてそれらを使用する必要があります。それぞれを見てみましょう。 -として定義された配列があると仮定します let arr = [1, 'test', {}, 123.43]; 新しい配列に置き換える- arr = []; これが最速の方法です。これにより、arrが新しい配列に設定されます。これは、他の場所から元のarrへの参照がない場合に最適です。そうした場合、それらの参照は更新されず、それらの場所は引き続き古い配列を使用します。 長さプロップを0に設定- arr.length = 0 これに

  2. JavaScriptの基本的な配列メソッド

    いくつかの基本的なJavaScript配列メソッドは次のとおりです- メソッド 説明 Array.push() 配列の最後に要素を追加します。 Array.pop() 配列の最後から要素を削除します。 Array.unshift() 配列の先頭に要素を追加するには Array.shift() 配列の前面から要素を削除します。 Array.splice() スプライスに要素を追加または削除するには 以下は、基本的な配列メソッドのコードです- 例 <!DOCTYPE html> <html lang="en