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

JavaScriptで可能な最長の連続した数列の長さ


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

関数は、配列に存在する最長の連続する増加シーケンスの長さを見つけて返す必要があります(連続または非連続)。

例-

入力配列が-

の場合
const arr = [4, 6, 9, 1, 2, 8, 5, 3, -1];

連続する最長の増加シーケンスは1、2、3、4、5、6であるため、出力は6になります。

以下はコードです-

const arr = [4, 6, 9, 1, 2, 8, 5, 3, -1];
const consecutiveSequence = (arr = []) => {
   const consecutiveRight = {};
   let max = 0;
   for (let i = 0; i < arr.length; i += 1) {
      let curr = arr[i];
      if (consecutiveRight[curr] !== undefined) {
         continue; // We already have this number.
         consecutiveRight[curr] = 1 + (consecutiveRight[curr + 1] || 0);
         while (consecutiveRight[curr - 1] !== undefined) {
            consecutiveRight[curr - 1] = consecutiveRight[curr] + 1;
            curr -= 1;
         }
         max = Math.max(max, consecutiveRight[curr]);
      }
      return max;
};
console.log(consecutiveSequence(arr));

出力

以下はコンソール出力です-

6

  1. Pythonで最長の連続シーケンスの長さを見つけるプログラム

    並べ替えられていない数値の配列があるとすると、連続する要素の最長シーケンスの長さを見つける必要があります。 したがって、入力がnums =[70、7、50、4、6、5]の場合、連続する要素の最長シーケンスは[4、5、6、7]であるため、出力は4になります。したがって、その長さを返します:4。 これを解決するには、次の手順に従います- nums:=numsのすべての一意の要素 max_cnt:=0 numsのnumごとに、実行します num-1がnumsにない場合、 cnt:=0 numがnumsに存在する間、実行します num:=num + 1

  2. Pythonでの最長の連続シーケンス

    整数の配列があるとします。連続する最長の要素シーケンスの長さを見つける必要があります。したがって、入力が[100、4、250、1、3、2]の場合、最長の連続シーケンスは[1,2,3,4]であるため、回答は4になります。 これを解決するには、次の手順に従います- 配列を最長:=0に設定します 範囲配列内のiの場合- i –1が-にない場合 現在:=i、ストリーク:=0 私が-にいる間 iを1増やし、ストリークを1増やします 最長:=最長とストリークの最大値 最長で戻る 例 理解を深めるために、次の実装を見てみましょう- cla