其實還是沒有很懂T_T 頭好昏
大概是說,有一個max 會存當前這個range裡面可以跳去最遠的地方
比方說 nums = [2,3,1,1,4] 從nums[0] 的2 開始, max jump 是0+2 =2 ;
那麼right 設成2 . 接著要來看這兩步裡面, 分別可以跳到多遠?
所以nums[1] 的3 加上自己的index 1 =4 ; 這時max jump 已設成4 .
但是right 還沒有到(right =2 ),我們還沒有看完這個range 的每一步.
下一個nums[2] index 2 加步數 1 =3 , 小於max jump. 所以maxjump 目前仍是四.
此時right是2 , 已經到了, 表示前一輪的range 檢查完了, 這時可以跳去最遠的地方存在maxjump
right 就更新成maxjump (why?!XD)
for回圈裡面接下來要看nums[3] , index 3 可以是從index 1的3過來, 也可以是index 2的1 過來
因為他們都不會比max jump 大,所以就繼續看下一個index
到四的時候因為right =4了, 更新跳的次數, (和 maxjump , 不過因為已經是array 尾巴了,它再跳去哪在此時也沒有意義了. )