/
uizadcz
/
Algorithm
Обзор
Документация
Войти
/
uizadcz
/
Algorithm
Код
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
JumpGame.kt
55 строк
1 KB
uizadcz
JumpGame.kt
19 сен 2024, 14:03
19 сен 2024, 14:03
95584ad
Код
Авторство
О чём код?
/** * https://leetcode.com/problems/jump-game/?envType=study-plan-v2&envId=top-interview-150 * * You are given an integer array nums. You are initially positioned at the array's first index, and each element in the array represents your maximum jump length at that position. * * Return true if you can reach the last index, or false otherwise. * * Example 1: * Input: nums = [2,3,1,1,4] * Output: true * Explanation: Jump 1 step from index 0 to 1, then 3 steps to the last index. * * * Example 2: * Input: nums = [3,2,1,0,4] * Output: false * Explanation: You will always arrive at index 3 no matter what. Its maximum jump length is 0, which makes it impossible to reach the last index. * * Constraints: * * 1 <= nums.length <= 104 * 0 <= nums[i] <= 105 */ class Solution { fun canJump(nums: IntArray): Boolean { var maxReach = 0 for (i in nums.indices) { if (i > maxReach) return false maxReach = Math.max(maxReach, i + nums[i]) } return true } // fun canJump(nums: IntArray): Boolean { // if (nums.size == 1) { // return nums[0] == 0 //// // } // // var tmp = 0 // while (tmp < nums.size) { // val inc = nums[tmp] // if (inc == 0) { // return false // } // tmp += inc // } // // return tmp >= nums.size // } }