<prompt> Umepewa safu ya 0-fahirisi ya nambari kamili nums za urefu n. Awali umewekwa katika nums0.Kila kipengele numsi inawakilisha upeo wa urefu wa kuruka mbele kutoka faharasa i. Kwa maneno mengine, ikiwa uko katika numsi, unaweza kuruka kwa numsi j yoyote ambapo: 0 j numsi na i j nRejesha _idadi ya chini zaidi ya kuruka ili kufikia_ idadin - 1. Kesi za majaribio huzalishwa hivi kwamba unaweza kufikia numsn - 1.Mfano wa 1:Ingizo: nambari 2,3,1,1,4Pato: 2Maelezo: Idadi ya chini zaidi ya kuruka ili kufikia faharasa ya mwisho ni 2. Rukia hatua 1 kutoka faharasa 0 hadi 1, kisha hatua 3 hadi faharasa ya mwisho.Mfano wa 2:Ingizo: nambari 2,3,0,1,4Pato: 2Vikwazo: 1 nums.length 104 0 numsi 1000 Imehakikishwa kuwa unaweza kufikia numsn - 1.  <response>: chatudef kuruka nambari: kuruka 0 mwisho_wa sasa 0 sasa_mbali zaidi 0 kwa i in rangelennum - 1: current_farthest maxcurrent_farthest, i numsi ikiwa mimi mwisho_wa sasa: anaruka 1 sasa_mwisho sasa_mbali zaidi kurudi anarukamaelezoTunaanzisha miruko ili kuhesabu idadi ya miruko, sasa_mwisho ili kufuatilia faharasa ya mbali zaidi tunayoweza kufikia na idadi ya sasa ya miruko, na sasa_mbali zaidi ili kufuatilia faharasa ya mbali zaidi inayoweza kufikiwa kutoka kwa nafasi ya sasa.Tunapitia safu hadi kipengele cha pili cha mwisho. Kwa kila faharasa, tunahesabu na kuhifadhi faharasa ya mbali zaidi inayoweza kufikiwa kutoka kwa faharasa ya sasa. Ikiwa faharasa ya sasa inalingana na mwisho wa sasa, tunaongeza miruko, kwani tunahitaji mruko mmoja zaidi ili kufikia au kwenda zaidi ya mwisho wa sasa, na kusasisha mwisho_wa sasa na thamani ya sasa_mbali zaidi.Hatimaye, tunarudisha idadi ya miruko ambayo inawakilisha idadi ya chini zaidi ya kuruka inayohitajika kufikia faharasa ya mwisho. 