leetcode-55. 跳跃游戏

题目

55. 跳跃游戏

解法

最终目标是求最大跳跃距离,如果最后发现可以跳到比最后一格要多,那么也就可以跳到最后一格

  1. 可以按照两种思想理解
    1. 贪心,每次求最大的跳跃距离
    2. dp 公式: fn={max(fn1,nums[n]+n),n>1n,n=1
class Solution {
/**
* @param Integer[] $nums
* @return Boolean
*/
function canJump($nums) {
if (empty($nums)) {
return true;
}
if (count($nums) == 1) {
return true;
}
$max = $nums[0];
for ($i = 1; $i < count($nums) - 1; $i++) {
if ($i > $max) {
return false;
}
$max = max($i + $nums[$i], $max);
}
return $max >= count($nums) - 1;
}
}

参考

官方题解
跳跃游戏 动态规划 简单易懂 Python

posted @   吴丹阳-V  阅读(36)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示