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

Greedy

Rehber 2 / 6 · Yol 2 / 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
2
3
1
1
4

far = 0

Jump Game: indeks 0'dan, nums[i] max sıçrama uzunluğu. Sona ulaşabilir miyiz?

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

Mediumgreedy

Jump Game

Problem (yeniden ifade)

0 indeksinden, her nums[i] maksimum sıçrama uzunluğu. Son indekse ulaşıp ulaşamayacağını döndür.

Sezgi

En uzak ulaşılabilir indeksi izle; i far’ı aşarsa takılı kalınır.

Yaklaşımlar

En uzak erişim

Doğrulanmadı
Zaman O(n)Alan O(1)

Fikir. far = max(far, i + nums[i]); i > far ise fail.

Yürüyüş. [2,3,1,1,4] far sona büyür → true; [3,2,1,0,4] 0’da takılır → false.

Trade-off. Greedy O(n) vs DP ulaşılabilirlik O(n²).

Çözüm
export function canJump(nums: number[]): boolean {
  let far = 0;
  for (let i = 0; i < nums.length; i++) {
    if (i > far) return false;
    far = Math.max(far, i + nums[i]!);
    if (far >= nums.length - 1) return true;
  }
  return true;
}
export function canJump(nums: number[]): boolean {
  let far = 0;
  for (let i = 0; i < nums.length; i++) {
    if (i > far) return false;
    far = Math.max(far, i + nums[i]!);
    if (far >= nums.length - 1) return true;
  }
  return true;
}

Şablon bağlantısı

Greedy en uzak erişim.

Yansıma