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

JavaScript配列に奇数回出現する1つの整数を見つけるにはどうすればよいですか?


整数の配列が与えられ、単一の要素を除いてすべての要素が偶数回出現することが通知されます。私たちの仕事は、その要素を1回の反復で見つけることです。

これをサンプル配列とします-

[1, 4, 3, 4, 2, 3, 2, 7, 8, 8, 9, 7, 9]

この問題を試す前に、ビット単位のXOR(^)演算子について少し理解する必要があります。

XOR演算子は、両方のオペランドが互いに相補的である場合はTRUEを返し、両方のオペランドが同じ場合はFALSEを返します。

XOR()演算子の真理値表-

0 ^ 0 → 0
0 ^ 1 → 1
1 ^ 0 → 1
1 ^ 1 → 0

この動作を詳しく調べると、XOR演算子をまったく同じ値(たとえば、12 ^ 12)で使用すると、常にFALSEまたは0が返されます。つまり、偶数回出現する値を否定するために使用できます。 。そしてそれがまさに私たちが望んでいることです。

したがって、以下のコードで同じことを記述します-

const sampleArray = [1, 4, 3, 4, 2, 3, 2, 7, 8, 8, 9, 7, 9];
console.log(sampleArray.reduce((a, b) => a ^ b));

各要素を繰り返し処理し、出現する要素を否定し続け、奇数回出現する唯一の要素が返されます。

出力

コンソール出力は-

になります
1

  1. 配列内で最も頻繁な数と、JavaScriptで繰り返される回数を見つけます

    リテラルの配列を受け取り、配列内で最も頻繁な数値とそれが繰り返される回数を見つけるJavaScript関数を作成する必要があります。 例 このためのコードは-になります const arr = ['13', '4', '1', '1', '4', '2', '3', '4', '4', '1', '2', '4', '9', '3']; const findFrequen

  2. 配列JavaScriptで2番目に多い回数出現する要素を返します

    リテラルの配列を受け取るJavaScript関数を作成する必要があります。この関数は、配列内で2番目に多い回数出現する要素を返す必要があります。 例- 入力配列が-の場合 const arr = [2, 5, 4, 3, 2, 6, 5, 5, 7, 2, 5]; その場合、出力は-になります。 const output = 2; 例 const arr = [2, 5, 4, 3, 2, 6, 5, 5, 7, 2, 5]; const findSecondMost = (arr = []) => {    const map={};