Easybit-manipulation
Single Number
Problem (yeniden ifade)
Her eleman iki kez görünür, biri hariç. Tek olanı bul.
Sezgi
a⊕a=0, a⊕0=a; XOR fold çiftleri iptal eder.
Yaklaşımlar
XOR fold
Tested onlyTime O(n)Space O(1)
Fikir. x = 0; nums içindeki her v için: x ^= v.
Adım adım. [4,1,2,1,2] → 4.
Trade-off’lar. O(1) alan vs hash set O(n).
Solution
export function singleNumber(nums: number[]): number {
let x = 0;
for (const v of nums) x ^= v;
return x;
}
export function singleNumber(nums: number[]): number {
let x = 0;
for (const v of nums) x ^= v;
return x;
}
Şablon bağlantısı
Bit XOR kimliği.
Yansıma
- 90 saniye içinde hangi kalıp bunu verdi?
- Standart şablondan ne değişti?
- Mevcut çözümü ne bozar?