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*

*List of all LeetCode Solution*

## Topics

Array, Greedy

## Companies

Microsoft

## Level of Question

Medium

**Jump Game LeetCode Solution**

## Table of Contents

**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)