Codility 2.2 Odd occurrences in array
質問する Odd occurrences in array 個の与えられた奇数個の整数からなる配列 奇数個なので、ペア2個ごとにペアリングすると数が残ります.この数を返す問題です. 2 Aが に答える
しょきかいほうは、 2サイクル当たり2
2.1が異なる場合は2つなので 配列が奇数の場合、最後の値は決定されません.したがって、巡回が終了すると、 XORの使用 XOR演算を用いて
-2つのビットが同じ場合は0を返し、異なる場合は1を返します. 0に基づいてすべての要素をXOR演算すると、同じ数は最終的にゼロに消去され、ペアリングされていない数が1つしか残っていません. コード#コード#
並べ替え後に2回遍歴する方法
A
がある.この列には2つの整数が1対になっている.A
を構成する整数には、重複する値もある.{9,3,9,3,9,7,9}
なら、答えは7です.しょきかいほう
A
を配列し、java.utils.Arrays
モジュールを使用して並べ替えられる.A
、比較i
およびi+1
次元素2.1が異なる場合は2つなので
i
回の値を返します.A
の最後の値が返される.O(N)
内で問題を解決することもできる.-2つのビットが同じ場合は0を返し、異なる場合は1を返します.
並べ替え後に2回遍歴する方法
import java.util.Arrays;
class Solution {
public int solution(int[] A) {
Arrays.sort(A);
if (A.length < 2) {
return A[0];
}
for(int ii = 0; ii < A.length - 1; ii += 2) {
if (A[ii] != A[ii + 1]) {
return A[ii];
}
}
return A[A.length - 1];
}
}
XOR操作の使用方法class Solution {
public int solution(int[] A) {
int sum = 0;
for (int el : A) {
sum = sum ^ el;
}
return sum;
}
}
Reference
この問題について(Codility 2.2 Odd occurrences in array), 我々は、より多くの情報をここで見つけました https://velog.io/@noneobj/Codility-2.2-Odd-occurrences-in-arrayテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol