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

JavaScriptを使用して配列内で最も長く繰り返される一連の数値を見つけて返す方法


いくつかの繰り返し要素を含む可能性のある数値の配列を受け取るJavaScript関数を作成する必要があります。この関数は、配列から最も長い繰り返し数列の長さを返す必要があります。

例-

入力配列が-

の場合
const arr = [2, 1, 1, 2, 3, 3, 2, 2, 2, 1];

次に、配列内で数値2が3回連続して繰り返されるため、出力は3になります(これが最大の数値です)。

const arr = [2, 1, 1, 2, 3, 3, 2, 2, 2, 1];
const findLongestSequence = (arr = []) => {
   const res = arr.reduce((acc,val,ind) => {
      if(acc.length && acc[acc.length-1][0] === val){
         acc[acc.length-1].push(val);
      }else{
         acc.push([val]);
      };
      return acc;
   },[]).reduce((acc, val) => {
      return val.length > acc.length ? val : acc;
   }); return res.length;
}
console.log(findLongestSequence(arr));

出力

そして、コンソールの出力は-

になります
3

  1. 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> <style>   &nbs

  2. JavaScriptで設定されている最長の長さを見つけて返す

    問題 最初で唯一の引数として、数値の配列arrを受け取るJavaScript関数を作成する必要があります。 長さNの配列arrには、0からN-1までのすべての整数が含まれています。私たちの関数は、集合Sの最長の長さを見つけて返すことになっています。ここで、S [i] ={A [i]、A [A [i]]、A [A [A [i]]]、...}以下のルールに。 Sの最初の要素がインデックス=iの要素A[i]の選択で始まり、Sの次の要素はA [A [i]]であり、次にA [A[A[i]]]…であると仮定します。同様に、Sで重複要素が発生する直前に追加を停止します。 たとえば、関数への入力が-の