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

JavaScriptを使用した配列内の山​​の最大長


山のサブシーケンス

次のプロパティが当てはまる場合、(arrの)サブアレイサブを山と呼びます-

  • sub.length> =3

  • sub [0] B [i + 1]> ...>のように、0

問題

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

この関数は、配列arrに存在する最大の山のサブシーケンスの長さを返すことになっています(存在する場合は0、それ以外の場合は0)。

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

入力

const arr = [3, 2, 5, 8, 4, 3, 6];

出力

const output = 5;

出力の説明

目的のサブアレイは-

であるため
[2, 5, 8, 4, 3]

以下はコードです-

const arr = [3, 2, 5, 8, 4, 3, 6];
const mountainLength = (arr = []) => {
   let max = 0
   for(let left = 0; left < arr.length; left++) {
      let right = left
      while(arr[right] < arr[right + 1]) {
         right++
      }
      const top = right
      while(right > left && arr[right] > arr[right + 1]) {
         right++
      }
      if(right > top && top > left) {
         max = Math.max(max, right - left + 1)
         left = right
         left--
      }
   }
   return max
}
console.log(mountainLength(arr));

出力

5

  1. JavaScript-配列オブジェクトの長さ

    JavaScriptのlengthプロパティは、オブジェクトのサイズを返します。以下は、文字列および配列オブジェクトの長さのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document

  2. JavaScriptオブジェクトの配列で配列のメソッドを使用していますか?

    以下は、JavaScriptオブジェクトの配列で配列のメソッドを使用するためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <styl