.
2019-07-15 吴亲库里 库里的深夜食堂
给定一个非负的整数数组,数组索引上的数表示每次最大可以跳跃的步数,判断这组数组是否能跳跃到数组最后的索引位置,当然超过的也算。
****
这道题可以利用动态规划的思想解决,对于判断当前索引处能不能到达,可以定义为
$dp[$i]=true //表示i位置可到达
那么它的递推公式就是
判断$i-1(暂且称为$j)位置是否可到达 && $nums[$j]位置的值要大于 $i-$j
/**
* @param Integer[] $nums
* @return Boolean
*/
function canJump($nums) {
$dp[0]=true;
for($i=1;$i<count($nums);$i++){
for($j=$i-1;$j>-1;$j--){
if($dp[$j] && $nums[$j]>=($i-$j)){
$dp[$i]=true;
break;
}
}
}
return $dp[count($nums)-1];
}