JavaScript多数決要素を持つ配列を決定し、同じ配列内にある場合はTRUEを返します
反復値を持つ数値の配列を受け取り、(n / 2)回以上出現する数値を返すJavaScript関数を作成する必要があります。ここで、nは配列の長さです。配列にそのような要素がない場合、関数はfalseを返す必要があります
この関数のコードを書いてみましょう-
例
const arr = [12, 5, 67, 12, 4, 12, 4, 12, 6, 12, 12]; const arr1 = [3, 565, 7, 23, 87, 23, 3, 65, 1, 3, 6, 7]; const findMajority = arr => { let maxChar = -Infinity, maxCount = 1; // this loop determines the possible candidates for majorityElement for(let i = 0; i < arr.length; i++){ if(maxChar !== arr[i]){ if(maxCount === 1){ maxChar = arr[i]; } 0else { maxCount--; }; } else { maxCount++; }; }; // this loop actually checks for the candidate to be the majority element const count = arr.reduce((acc, val) => maxChar===val ? ++acc : acc, 0); return count > arr.length / 2; }; console.log(findMajority(arr)); console.log(findMajority(arr1));
出力
コンソールの出力は-
になりますtrue false
-
配列から数値を削除し、残りの数値をJavaScriptにシフトします
最初の引数として数値の配列を取り、2番目の引数として数値を受け取るJavaScript関数を作成する必要があります。 関数は、2番目の引数で指定された数が配列に存在する場合、それを削除し、すべての要素を右に1つ左にシフトする必要があります。唯一の条件は、slice()、spliceなどのArrayメソッドを使用できないことです。 配列に番号のインスタンスが複数存在する場合は、最初のインスタンスを削除する必要があります。 例- 入力配列が-の場合 const arr = [3, 5, 6, 3, 7, 8, 8, 6]; const num = 7; 次に、配列は-になります。 con
-
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で重複要素が発生する直前に追加を停止します。 たとえば、関数への入力が-の