Jump Game LeetCode Solution

Last updated on October 10th, 2024 at 12:28 am

Here, We see Jump Game LeetCode Solution. This Leetcode problem is done in many programming languages like C++, Java, JavaScript, Python, etc. with different approaches.

List of all LeetCode Solution

Topics

Array, Greedy

Companies

Microsoft

Level of Question

Medium

Jump Game LeetCode Solution

Jump Game LeetCode Solution

Problem Statement

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.

1. Jump Game Leetcode Solution C++

class Solution {
public:
    bool canJump(vector<int>& nums) {
        int i, minjump = 0;
        for(i = nums.size()-2; i >= 0; i--){
            minjump++;
            if(nums[i] >= minjump)
			    minjump = 0;
        }
        if(minjump == 0) 
		    return true;
        else 
		    return false;        
    }
};

2. Jump Game Leetcode Solution Java

class Solution {
    public boolean canJump(int[] nums) {
       if(nums.length < 2) return true;
       
       for(int curr = nums.length-2; curr>=0;curr--){
           if(nums[curr] == 0){
               int neededJumps = 1;
               while(neededJumps > nums[curr]){
                   neededJumps++;
                   curr--;
                   if(curr < 0) return false;
               }
           }
       }
       return true;        
    }
}

3. Jump Game Leetcode Solution JavaScript

var canJump = function(nums) {
  let idx = 0;
  let max = 0;
  let target = nums.length - 1;
  while(idx < nums.length) {
    max = Math.max(max, idx + nums[idx]);
    if (max >= target) {
      return true;
    }
    if (max <= idx && nums[idx] === 0) {
      return false;
    }
    idx++;
  }
  return false; 
};

4. Jump Game Leetcode Solution Python

class Solution(object):
    def canJump(self, nums):
        max_reach, n = 0, len(nums)
        for i, x in enumerate(nums):
            if max_reach < i: return False
            if max_reach >= n - 1: return True
            max_reach = max(max_reach, i + x)
Scroll to Top