指定された要素に加えて、整数の非空の配列は、一度だけ表示され、各要素の残りの部分は二回表示されます。要素のみに一度表示されていることを知るために。
説明:
あなたのアルゴリズムは線形時間複雑性を持っている必要があります。あなたはそれを達成するために余分なスペースを使用することはできませんか?
例1:
入力:[2,2,1]
出力:1
例2:
入力:[4,1,2,1,2]
出力:4
C ++ソリューション
/ * XORソリューション:XOR演算は可換である、^ B ^ A = A ^ A ^ B = B、 ANSは、したがって対応NUMS [0] ^ NUMS [1 ] ^ NUMS [2] ^ NUMS [3] ^ NUMS [4] .....
次にXOR(ゼロ)を一緒にマージする可換等しいに従って
のみ発生XOR要素一度、最終的な結果であることを、要素のみ登場(0 ^任意の値=値)時間 * / クラスソリューション{ パブリック: INT singleNumber(ベクトル<整数>&NUMS){ int型ANS = NUMS [0]; (INT I = 1; I < nums.size(); I ++){ ANSは= ^ [I] NUMSをANS; } 戻りANS; } }。