単一の数字 I

DDD
DDDオリジナル
2024-09-19 06:17:33551ブラウズ

Single Number I

問題

存在する番号は 1 回だけ見つけなければなりません。
ブルートフォースアプローチは、HashMap を使用して値のカウントを追跡し、カウント =1 の値を返すことです。

ビット操作を使用した最適なアプローチ:

他のすべての組み合わせでは、1^0 = 1、0 ^1 = 1、0 ^ 0 = 0、1 ^ 1= 0 であることがわかっています。
これは、exor が同じ値に対して 0 を与えることを意味します。したがって、配列内のすべての値を exor すると、カウントが 1 の数値のみが得られます (残りの値は 0 になるため)

TC: O(n)
SC:O(1)

class Solution {
    public int singleNumber(int[] nums) {
        int single = nums[0];
        for(int i =1;i<nums.length;i++){
            single = single^nums[i];
        }
        return single;
    }
}

以上が単一の数字 Iの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。