This video's explanation was fantastic! I had a hard time grasping the concept of coverage before watching it, but your clear explanation and use of animations really helped me understand. The solution you presented visually, with both drawings and animations, made it much easier to follow along and almost had me solve the problem myself by the end. Thanks for such a well-done video! 🖊
Whenever I get stuck with a question, your videos always come to the rescue with clear and concise explanations. Your content has been a game-changer for my learning journey. Keep uploading more and more such tutorials.
Man!!! Hands down!!! You teach reallly well. The explanation was crystal clear. Even for the recursive brute force approach, your explanation was precise. Love it. Keep doing❤❤ Till date i find recursion very confusing. Please start a recursion playlist. The way you teach is very amazing. Gets right into the head. Would love to learn recursion from you.
there are 2 cases missing 1) if first value of array is 0 , then we can't move further. 2) suppose and array 2 1 0 0 0 0 then we can't jump at the end , so we have to add case if(lastjumpindex
Somehow, I had to replace coverage at the last if statemant with lastjumpInx because otherwise one jump was always missing: if(lastJumpIndx >= destination){ return totalJumps }
I like how you explained how to solve this with the greedy approach you have taken. The way you explain with images is really great. Thanks! I am experiencing a lot of difficulty reaching the solution. More than the coding, it's finding the solution that I am really struggling with. The approach I took for this case is consider the base case and move backwards. Somehow, I find it very difficult to find my way through it. I got very confused from that stage; I considered the recursive approach but did not have a clear picture in my mind how I was going to solve it. Then again, sometimes, I come across a problem where I literally do it with much less effort. I'm not sure if it's just me but I find myself unable to find the approach to solving the problem. Once I find the approach, the coding side is easy. I don't know - that's just me. Struggling but trying! :( Thanks for sharing.
I totally understand you. What you are experiencing is just a part of the coding journey. Always remember that it gets tough before it starts to get simpler. Just like you go on a hike...the start is very easy...then you begin to get tired, and it is hard to carry along. Once you cross that hurdle, the rest of the trek becomes enjoyable. :)
as you solve more and more problems you will be able to narrow down some patterns. When starting any new problem, you will then try to get started with those known methods first. sometimes along the way, you will tweak them and discover new methods
after ...coverage = max(coverage, i+arr[i]), add this if condition if(i>=coverage) return -1;// if you encounter any zero in between this edge case will help i.e., for test case: 3 2 1 0 5 code: int minJumps(vector &arr,int n) { // Write your code here. int totalJumps=0; int destination=n-1; int coverage=0; int lastJumpInd=0; if(n==1) return 0; for(int i=0;i=coverage) return -1; if(i==lastJumpInd){ lastJumpInd=coverage; totalJumps++; if(coverage>=destination) return totalJumps; } } return totalJumps; }
could you just check in the if condition where coverage>=destination at the place of coverage it will be lastIndex because if we return totalJumps without traversing till the lastIndex it will give wrong answer
i have a doubt in if part that if take coverage as max at index 0 then we will reach at index 2 right which represents 1 at index 2 then if it is 1 then we can't choose 4 at index 1. Can anyone explain me that?? please help
Does the greed criteria say that choose the element with the max value from i till i+nums[i ] ? e.g 2,1,4,1,3,1,1,2 . for i =0 , nums[0 ] = 2, We choose 4 from 1,4. After that for i becomes 2 and for nums[2 ] = 4 we have options 1,3,1,1 and we chose max which is 3 and then reach in 3 min steps till the end. ?
every greed criteria will not give you the optimal solution. first we need to prove that the greed criteria we choose leads to an optimal solution. ruclips.net/video/3H2G3KuEiRU/видео.html
sir this code is not working it gives the wrong test cases in leetcode test case:[2,3,1,1,4] Output 1 Expected 2 .........code...... class Solution { public: int jump(vector& nums) { int jumps=0; int n=nums.size(); int coverage=0; int lastJump=0; int destination=n-1; if(n==1) return 0; for(int i=0;i=destination) { return jumps; } } return jumps;
I have an edge case - [ 2,16,1,2,3,1,1,2 ] here when i=1 coverage will be > destination hence return totaljumps which is 1 because i!=lastjump. but coverage>=destination so 1 will be returned but correct ans is 2 jumps because from 2->16->destination I am wrong ???
thank you so much exellent explanation and i have a small doubt there is a issue with your code if(coverage>+destination){ return total_jumps; } from above part of code you are returning without incerements total_jumps for last window i think and also there is a case entire window of elements is 0 then cant go the last_index right?
in leetcode there's a line which says "The test cases are generated such that you can reach nums[n - 1]". Means there will always be a way to reach the last index. So all 0 test cases won't be there. But it can be solved by putting checks for 0.
Its perfectly working fine.If condition should be placed as shown below if(i==nextInterval){ nextInterval = coverage; jumps++; if(coverage >= target ){ return jumps; } }
@@piyushanand3451i just verified. With my solution, the output is 2 as expected. Added a test case too to confirm. Look at the video description for the file. Make sure you are implementing it correctly :)
Don’t stop what your doing. You’re amazing and i learn so much from you
This video's explanation was fantastic! I had a hard time grasping the concept of coverage before watching it, but your clear explanation and use of animations really helped me understand. The solution you presented visually, with both drawings and animations, made it much easier to follow along and almost had me solve the problem myself by the end. Thanks for such a well-done video! 🖊
Whenever I get stuck with a question, your videos always come to the rescue with clear and concise explanations. Your content has been a game-changer for my learning journey. Keep uploading more and more such tutorials.
will try my best to keep bringing useful content
+1
You explain so clearly
Man!!! Hands down!!! You teach reallly well. The explanation was crystal clear. Even for the recursive brute force approach, your explanation was precise. Love it. Keep doing❤❤ Till date i find recursion very confusing. Please start a recursion playlist. The way you teach is very amazing. Gets right into the head. Would love to learn recursion from you.
great explanation, easy to understand with your graphical representation. Keep doing what you're doing.
Bhaiya in this code it would be
if (lastIndex >= destination) {
return totalJumps;
}
not Coverage>=destination
it's my first watch on your channel....u explains so good that i am subscribing you...and thank you soo much for educating us...
thanks for the sub :)
excellent explanation 👌This is my first video on your channel, really loved the explanation. Subscribing !!
Thanks and welcome
usually i don't comment on videos but dudu u are amazing....so easily u have explained me......😇..u got a new subscriber
Thank you so much 😀
man you are so good, wish you all the best, all the love from Palestine
your videos truly are helping me understand DSA so well! Keep it up
good luck 😇
sir i dont know how but your solution help me to understand the problem very easy
ur soln for each problem is unique and easy to understand
there are 2 cases missing
1) if first value of array is 0 , then we can't move further.
2) suppose and array 2 1 0 0 0 0 then we can't jump at the end , so we have to add case
if(lastjumpindex
literally the best explanation ever!
great explanation Bhai! I watched the video so many times to get it. Finally was able to get the idea and solve it...Thanks for a thoughtful vid! :)
Somehow, I had to replace coverage at the last if statemant with lastjumpInx because otherwise one jump was always missing: if(lastJumpIndx >= destination){
return totalJumps
}
I like how you explained how to solve this with the greedy approach you have taken. The way you explain with images is really great. Thanks! I am experiencing a lot of difficulty reaching the solution. More than the coding, it's finding the solution that I am really struggling with. The approach I took for this case is consider the base case and move backwards. Somehow, I find it very difficult to find my way through it. I got very confused from that stage; I considered the recursive approach but did not have a clear picture in my mind how I was going to solve it.
Then again, sometimes, I come across a problem where I literally do it with much less effort. I'm not sure if it's just me but I find myself unable to find the approach to solving the problem. Once I find the approach, the coding side is easy. I don't know - that's just me. Struggling but trying! :(
Thanks for sharing.
I totally understand you. What you are experiencing is just a part of the coding journey. Always remember that it gets tough before it starts to get simpler. Just like you go on a hike...the start is very easy...then you begin to get tired, and it is hard to carry along. Once you cross that hurdle, the rest of the trek becomes enjoyable. :)
Keep doing what you are doing...as long as you are trying to write the solutions on your own rather than just copying the code, you will succeed :)
Literally the best one
great explanation!
how to come up with such a greedy criteria, I mean what would be the thought process for a similar problem
as you solve more and more problems you will be able to narrow down some patterns. When starting any new problem, you will then try to get started with those known methods first.
sometimes along the way, you will tweak them and discover new methods
after ...coverage = max(coverage, i+arr[i]), add this if condition
if(i>=coverage) return -1;// if you encounter any zero in between this edge case will help i.e.,
for test case: 3 2 1 0 5
code:
int minJumps(vector &arr,int n)
{
// Write your code here.
int totalJumps=0;
int destination=n-1;
int coverage=0;
int lastJumpInd=0;
if(n==1)
return 0;
for(int i=0;i=coverage)
return -1;
if(i==lastJumpInd){
lastJumpInd=coverage;
totalJumps++;
if(coverage>=destination)
return totalJumps;
}
}
return totalJumps;
}
Excellent work 🎉
Awesome explanation sir
Awsm explanation man
better than neetcode....for this soln presentation...thanku
could you just check in the if condition where coverage>=destination
at the place of coverage it will be lastIndex because if we return totalJumps without traversing till the lastIndex it will give wrong answer
right
yes before returning total_jumps need to increment
To the point explanation. Thanks!
great explaination !! u are too good
badiya samjhaya
Very good explanation sir
Thanks and welcome
your code works perfectly on leetcode but not working on gfg, by the way great explanation
you may have to tweak it a little for the different problem constraints.
simple and good
Great explanation!
Thanks
Keep Going and Keep Posting
i have a doubt in if part that if take coverage as max at index 0 then we will reach at index 2 right which represents 1 at index 2 then if it is 1 then we can't choose 4 at index 1. Can anyone explain me that?? please help
Can you please elaborate on the doubt you have. I got confused
its failing for [2,3,1,1,4].
What answer are you expecting ?
nice explanation
beautiful beautiful
why we are using
if(i==lastjumpindex)
lastjumpindex= coverage;
jumps++;
can anyone explain?
did you follow the explanation? please don't jump straight to the code portion.
Thanks!
Great man
I feel like i got this n again I'm feeling like do i really got this??
What I'm going through plzz help
Few days ago i started coding
i totally understand this dilemma, and happens with every person who starts to code. It will get better with time as you solve more and more problems.
thanks brother
Does the greed criteria say that choose the element with the max value from i till i+nums[i ] ? e.g 2,1,4,1,3,1,1,2 . for i =0 , nums[0 ] = 2, We choose 4 from 1,4. After that for i becomes 2 and for nums[2 ] = 4 we have options 1,3,1,1 and we chose max which is 3 and then reach in 3 min steps till the end. ?
every greed criteria will not give you the optimal solution. first we need to prove that the greed criteria we choose leads to an optimal solution. ruclips.net/video/3H2G3KuEiRU/видео.html
Sir please make a playlist on advance recursion
will do
thanks for the helpful videos, what is the app name you use in your iPad to write and explain things?
GoodNotes 6
sir this code is not working it gives the wrong test cases in leetcode
test case:[2,3,1,1,4]
Output
1
Expected
2
.........code......
class Solution {
public:
int jump(vector& nums) {
int jumps=0;
int n=nums.size();
int coverage=0;
int lastJump=0;
int destination=n-1;
if(n==1) return 0;
for(int i=0;i=destination)
{
return jumps;
}
}
return jumps;
}
};
you will need to debug the test case
I felt understanding coverage little tricky.
what part did you face a problem with?
I have an edge case - [ 2,16,1,2,3,1,1,2 ] here when i=1 coverage will be > destination hence return totaljumps which is 1 because i!=lastjump. but coverage>=destination so 1 will be returned but correct ans is 2 jumps because from 2->16->destination
I am wrong ???
check the problem constraints on the actual problem page :)
amz explanation
thank you so much exellent explanation and i have a small doubt there is a issue with your code
if(coverage>+destination){
return total_jumps;
}
from above part of code you are returning without incerements total_jumps for last window i think and also there is a case entire window of elements is 0 then cant go the last_index right?
in leetcode there's a line which says "The test cases are generated such that you can reach nums[n - 1]". Means there will always be a way to reach the last index. So all 0 test cases won't be there. But it can be solved by putting checks for 0.
absolutely correct
code is wrong it will always give one jump less than required jumps please check
did you try the code in the video description? it works perfectly on leetcode
@@nikoo28i got the answer already myself but thank u just need to replace coverage with lastjumpindex in last condition
@@nihal6636 thank u!
There was few errors in your code but anyways nice explanation.
What errors did you find?
Great explanation, but, the case for when the destination cannot be reached we should return -1 is not covered
if you check the problem constraints:
"It's guaranteed that you can reach nums[n - 1]."
💥💥💥💥💥💥💥💥❤❤❤❤❤❤
bro why u post video without veryfing the code just wasting our time and your time
Its perfectly working fine.If condition should be placed as shown below if(i==nextInterval){
nextInterval = coverage;
jumps++;
if(coverage >= target ){
return jumps;
}
}
the code works perfectly. Check the link in the description please :)
thx buddy
@@Sowmyakotha-lj8te
instead of if(coverage>= destination), there should be (lastjumpIdx>=destination)
Why do you think so?
@@nikoo28
N = 6
arr = {1, 4, 3, 2, 6, 7}
Output: 2
take this example, if you are using coverage>= destination, your output will be 1.
@@piyushanand3451i just verified. With my solution, the output is 2 as expected.
Added a test case too to confirm. Look at the video description for the file.
Make sure you are implementing it correctly :)
The code that you provide in your videos are always WRONG!!!!!!!!!!!
what do you mean? I never upload a code that is not passing all test cases on LeetCode. Did you check the link in the video description?
@@nikoo28some people are just there to cause problems 😂
Not intutive at all the last one
For me 1d dp was the best here
But my answer comes as 2 not 3 by ur code
did you have a look at the code on my github profile?
@@nikoo28 no I just copied this one.. u taught. Is github code different than this ??
@@great.Indian.culture that has the full implementation with test cases. Check the links in video description.