2017年9月6日水曜日

OddOccurrencesInArray(Lesson2)

問題

コード1

  • 奇数なので足して偶数、偶数でないものが返却すべき値
public int solution(int A[]) {

    for (int i = 0; i < A.length; i++) {
        int count = 0;
        for (int j = 0; j < A.length; j++) {
            if (A[i] == A[j]) {
                count++;
            }
        }
        if (count % 2 != 0) {
            return A[i];
        }
    }
    return A[0];
}

コード2

  • コード1ではパフォーマンスが悪くTest scoreが100にならないので、以下で実施

    1. 配列をソート
    2. 奇数 番目と偶数番目が同じ値でない場合、返却するべき値
public int solution(int A[]) {

    Arrays.sort(A);
    for (int i = 0; i < A.length - 1; i++){
        if(A[i] != A[i + 1]){
            return A[i];
        }
        i = i + 1;
    }
    return A[A.length-1];
}

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。