Her kutudan en çok values[i] kadar ileri atlayabiliyorsan sona varabilir misin? Hangi kutuya atlayacağına karar vermek zorunda değilsin. Tek bir sayı taşı: şimdiye kadar erişebildiğim en uzak kutu. Bir kutuya erişebiliyorsan, ondan önceki her kutuya da erişebilirsin.
reach = 0for i, jump in enumerate(values):if i > reach:return Falsereach = max(reach, i + jump)return True
i + jump) en uzağı güncellersin.Aynı fikir ızgarada "en yakın hedefe git" kuralı olarak karşına çıkar: her seferinde en yakındakini toplamak çoğu zaman iyi bir plandır ve hesabı kolaydır. "Çoğu zaman" kelimesine dikkat: en yakın, en kısa toplam yolu garanti etmez; enerjin sınırlıyken bunu ölçmen gerekir.