1. 概述
- 给定一个非负整数数组,最初位于数组的第一个位置。
- 中的每个元素代表在该位置可以跳跃的最大长度。
- 判断是否能够到达最后一个位置。
思路:对比最大能跳跃到的位置 与 当前最大能跳跃到的位置
2. 解题
<?phpclass Solution{/*** 给定一个非负整数数组,最初位于数组的第一个位置。** 数组中的每个元素代表在该位置可以跳跃的最大长度。** 判断是否能够到达最后一个位置。** @param Integer[] $nums* @return Boolean*/public function canJump($nums){if (!$nums) return true;$max = 0;foreach ($nums as $k => $v) {// 如果最大跳跃位置到不了当前位置,则判定无法到达最后一个位置if ($k > $max) return false;$max = max($max, $k + $v);if ($max >= count($nums) - 1) return true;}return false;}}$nums = [2, 3, 1, 1, 4];$cls = new Solution();$r = $cls->canJump($nums);var_dump($r);
