İçeriğe atla
ΣDSA Patterns
Menü
Dil

Bit Manipülasyonu

Rehber 1 / 6 · Yol 1 / 6

Etkileşimli

Zihinsel model

Bu problem için animasyonlu çözüm. Adımları kaydır veya boşlukla duraklat; değişmezi yüksek sesle yeniden anlat.

Adım 1 / 6
4
1
2
1
2

x = 0

Her değer iki kez geçer, biri hariç. XOR fold: a⊕a=0, a⊕0=a.

Demo önizleme: Bu çözümler otomatik test paketini geçiyor ama insan tarafından incelenmedi. Trade-off ve yazıları taslak olarak değerlendirin.

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

Doğrulanmadı
Zaman O(n)Alan 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).

Çözüm
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