😸
136. Single Number
非空の整数配列 nums
が与えられます。すべての要素は2回ずつ出現しますが、ただ1つだけ1回だけ出現する要素があります。その1つだけの要素を見つけてください。
条件:
- 線形時間計算量(O(n))で解を求める必要があります。
- 定数の追加空間しか使用してはいけません。
例1:
入力:
nums = [2,2,1]
出力:
1
例2:
入力:
nums = [4,1,2,1,2]
出力:
4
例3:
入力:
nums = [1]
出力:
1
制約:
- 1 <=
nums.length
<= 30,000 - -30,000 <=
nums[i]
<= 30,000
XOR の特性を利用すると、線形時間 (O(n)) かつ 定数空間 (O(1))
XORの特性:
- 自己XORは0になる:
- 0とのXORは元の値を保つ:
- 交換法則と結合法則が成り立つ:
Discussion