2015年4月1日水曜日

Lesson 99: OddOccurrencesInArray (Odd OccurrencesInArray)

Lesson 99:  OddOccurrencesInArray
https://codility.com/programmers/lessons/14

最初、本当にO(1)のメモリ使用量でできるのかちょっと悩みましたが、良く問題を読むと、ペアにならないで残される要素は1つだけなんですね。

ですから、xorをざっと先頭からやっていけば、最後に残ったのがペアになっていない数です (A xor A = 0, and B xor 0 = Bですから)。











int solution(int A[], int N) {
    
    int val = 0;
    for (int i = 0; i < N; i++){
        val ^= A[i];
    }
    
    return val;
}

0 件のコメント:

コメントを投稿