-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathJump Game.cpp
36 lines (28 loc) · 1.07 KB
/
Jump Game.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
/* Leet Code */
/* Title - Jump Game */
/* Created By - Akash Modak */
/* Date - 28/05/2023 */
// 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.
class Solution {
public:
bool canJump(vector<int>& nums) {
int n = nums.size();
vector<int> dp(n,0);
dp[0]=nums[0];
if(nums[0]==0 and nums.size()>1) return false;
for(int i=1;i<nums.size();i++){
if(dp[i-1]==i and nums[i]==0 and i!=nums.size()-1) return false;
dp[i]=max(dp[i-1],i+nums[i]);
}
return true;
}
};