diff --git a/Amazon/Q8-Jump Game ll b/Amazon/Q8-Jump Game ll index 0d405e3..2a71788 100644 --- a/Amazon/Q8-Jump Game ll +++ b/Amazon/Q8-Jump Game ll @@ -18,3 +18,51 @@ Constraints: 1 <= nums.length <= 104 0 <= nums[i] <= 1000 It's guaranteed that you can reach nums[n - 1]. + +SOLUTION: + +Language - C++ + +#include +using namespace std; + +int rec(vector &nums, int i, vector &dp) +{ + if (i == 0) + return 0; + if (dp[i] != -1) + return dp[i]; + int ans = INT_MAX; + for (int j = 0; j < i; j++) + { + if ((j + nums[j]) >= i) + { + ans = min(ans, 1 + rec(nums, j, dp)); + } + } + return dp[i] = ans; +} +int minJump(vector nums) +{ + int n = nums.size(); + vector dp(n, -1); + return rec(nums, n - 1, dp); +} +int main() +{ + + vector nums; + int n; + cin >> n; + for (int i = 0; i < n; i++) + { + int x; + cin >> x; + nums.push_back(x); + } + + cout << minJump(nums) << endl; + ; + return 0; +} +