Jump Game 2 (LeetCode 45) | Minimum jumps to reach end of array | Explanation with Animations

Sdílet
Vložit
  • čas přidán 14. 07. 2024

Komentáře • 94

  • @luisguarin593
    @luisguarin593 Před 9 měsíci +10

    Don’t stop what your doing. You’re amazing and i learn so much from you

  • @vinaysagar9280
    @vinaysagar9280 Před 3 měsíci +3

    great explanation, easy to understand with your graphical representation. Keep doing what you're doing.

  • @aashanadhameja5754
    @aashanadhameja5754 Před 9 měsíci

    To the point explanation. Thanks!

  • @nilaxgajjar.work8
    @nilaxgajjar.work8 Před měsícem

    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! 🖊

  • @tasniatahsin8637
    @tasniatahsin8637 Před 8 měsíci +1

    your videos truly are helping me understand DSA so well! Keep it up

  • @hajeeramohamad7641
    @hajeeramohamad7641 Před měsícem +2

    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.

  • @raghebadel5689
    @raghebadel5689 Před 5 měsíci +2

    man you are so good, wish you all the best, all the love from Palestine

  • @kamalasowmya7120
    @kamalasowmya7120 Před 7 měsíci

    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! :)

  • @anupamakovid4568
    @anupamakovid4568 Před 6 měsíci +2

    excellent explanation 👌This is my first video on your channel, really loved the explanation. Subscribing !!

    • @nikoo28
      @nikoo28  Před 5 měsíci

      Thanks and welcome

  • @janki-bx1rn
    @janki-bx1rn Před dnem

    literally the best explanation ever!

  • @DhananjayKumar-bd2jg
    @DhananjayKumar-bd2jg Před 4 měsíci +1

    great explanation!

  • @kalpitbansal9923
    @kalpitbansal9923 Před 9 měsíci +7

    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.

  • @itsmepratham2712
    @itsmepratham2712 Před 9 měsíci

    Keep Going and Keep Posting

  • @parthchaudhary5134
    @parthchaudhary5134 Před 8 měsíci +4

    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...

    • @nikoo28
      @nikoo28  Před 8 měsíci

      thanks for the sub :)

  • @tunebrotherdon
    @tunebrotherdon Před 8 měsíci

    Great explanation!

  • @parthmodi2028
    @parthmodi2028 Před měsícem

    great explaination !! u are too good

  • @vikashaakash5202
    @vikashaakash5202 Před 4 měsíci

    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

  • @AbhinavKumar-xo5ji
    @AbhinavKumar-xo5ji Před 6 měsíci +1

    Awsm explanation man

  • @Anonymous____________A721

    Literally the best one

  • @abhaypatel379
    @abhaypatel379 Před 2 dny

    Excellent work 🎉

  • @mdshahidansari9126
    @mdshahidansari9126 Před 13 dny

    Awesome explanation sir

  • @PrashantKumar-fk8le
    @PrashantKumar-fk8le Před 9 měsíci

    Great man

  • @shubhamroy1094
    @shubhamroy1094 Před 8 měsíci +1

    badiya samjhaya

  • @funnymoment9164
    @funnymoment9164 Před 9 měsíci

    Thanks!

  • @m-bk4um
    @m-bk4um Před 9 měsíci +1

    simple and good

  • @raghavendravernekar4103
    @raghavendravernekar4103 Před 4 měsíci

    nice explanation

  • @basukinath2766
    @basukinath2766 Před 9 měsíci

    thanks brother

  • @subee128
    @subee128 Před 6 měsíci +1

    Thanks

  • @vanshsharma-lg1hj
    @vanshsharma-lg1hj Před měsícem

    better than neetcode....for this soln presentation...thanku

  • @riyasharma-rn2ur
    @riyasharma-rn2ur Před měsícem

    Very good explanation sir

    • @nikoo28
      @nikoo28  Před měsícem

      Thanks and welcome

  • @dnc077
    @dnc077 Před 2 měsíci

    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.

    • @nikoo28
      @nikoo28  Před měsícem +1

      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. :)

    • @nikoo28
      @nikoo28  Před měsícem +1

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

  • @sriyanandakuchimanchi4042
    @sriyanandakuchimanchi4042 Před 5 měsíci +1

    beautiful beautiful

  • @gangadharsai2705
    @gangadharsai2705 Před 5 měsíci

    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;
    }

  • @michi19935
    @michi19935 Před měsícem

    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
    }

  • @UtkarshOjha
    @UtkarshOjha Před 8 měsíci

    your code works perfectly on leetcode but not working on gfg, by the way great explanation

    • @nikoo28
      @nikoo28  Před 8 měsíci

      you may have to tweak it a little for the different problem constraints.

  • @wahid4544
    @wahid4544 Před 6 měsíci

    thanks for the helpful videos, what is the app name you use in your iPad to write and explain things?

  • @SimpleCse2012
    @SimpleCse2012 Před měsícem +1

    Bhaiya in this code it would be
    if (lastIndex >= destination) {
    return totalJumps;
    }
    not Coverage>=destination

  • @CodeCraftAbhijit
    @CodeCraftAbhijit Před 4 měsíci

    amz explanation

  • @udaykirankavaturu6942
    @udaykirankavaturu6942 Před 8 měsíci +2

    how to come up with such a greedy criteria, I mean what would be the thought process for a similar problem

    • @nikoo28
      @nikoo28  Před 7 měsíci +2

      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

  • @saicharanpinninti548
    @saicharanpinninti548 Před 4 měsíci

    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?

    • @sorrybhai100
      @sorrybhai100 Před 4 měsíci

      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.

    • @nikoo28
      @nikoo28  Před 4 měsíci

      absolutely correct

  • @mdshafiuddin1234
    @mdshafiuddin1234 Před 9 měsíci

    Sir please make a playlist on advance recursion

  • @nishanthsunkara1160
    @nishanthsunkara1160 Před 9 měsíci

    I felt understanding coverage little tricky.

    • @nikoo28
      @nikoo28  Před 9 měsíci

      what part did you face a problem with?

  • @shibhamalik1274
    @shibhamalik1274 Před 6 měsíci

    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. ?

    • @nikoo28
      @nikoo28  Před 5 měsíci

      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. czcams.com/video/3H2G3KuEiRU/video.html

  • @swarajgupta8646
    @swarajgupta8646 Před 3 měsíci +1

    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

    • @nikoo28
      @nikoo28  Před 2 měsíci

      Can you please elaborate on the doubt you have. I got confused

  • @sahilsoni6339
    @sahilsoni6339 Před 9 měsíci +2

    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

  • @mikeag1371
    @mikeag1371 Před 6 měsíci

    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 ???

    • @nikoo28
      @nikoo28  Před 6 měsíci

      check the problem constraints on the actual problem page :)

  • @035-harshitsingh7
    @035-harshitsingh7 Před 5 měsíci

    why we are using
    if(i==lastjumpindex)
    lastjumpindex= coverage;
    jumps++;
    can anyone explain?

    • @nikoo28
      @nikoo28  Před 5 měsíci

      did you follow the explanation? please don't jump straight to the code portion.

  • @rajukachori9536
    @rajukachori9536 Před měsícem

    💥💥💥💥💥💥💥💥❤❤❤❤❤❤

  • @ago7506
    @ago7506 Před 5 měsíci

    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;

    }
    };

    • @nikoo28
      @nikoo28  Před 5 měsíci +1

      you will need to debug the test case

  • @vnn6568
    @vnn6568 Před 3 měsíci

    its failing for [2,3,1,1,4].

    • @nikoo28
      @nikoo28  Před 2 měsíci

      What answer are you expecting ?

  • @manvendrasingh4369
    @manvendrasingh4369 Před měsícem

    There was few errors in your code but anyways nice explanation.

    • @nikoo28
      @nikoo28  Před měsícem

      What errors did you find?

  • @nihal6636
    @nihal6636 Před 9 měsíci

    code is wrong it will always give one jump less than required jumps please check

    • @nikoo28
      @nikoo28  Před 9 měsíci

      did you try the code in the video description? it works perfectly on leetcode

    • @nihal6636
      @nihal6636 Před 9 měsíci +1

      ​​@@nikoo28i got the answer already myself but thank u just need to replace coverage with lastjumpindex in last condition

    • @nigma933
      @nigma933 Před 3 měsíci

      @@nihal6636 thank u!

  • @Udaylux
    @Udaylux Před měsícem

    Great explanation, but, the case for when the destination cannot be reached we should return -1 is not covered

    • @nikoo28
      @nikoo28  Před měsícem

      if you check the problem constraints:
      "It's guaranteed that you can reach nums[n - 1]."

  • @nihal6636
    @nihal6636 Před 9 měsíci +1

    bro why u post video without veryfing the code just wasting our time and your time

    • @Sowmyakotha-lj8te
      @Sowmyakotha-lj8te Před 8 měsíci

      Its perfectly working fine.If condition should be placed as shown below if(i==nextInterval){
      nextInterval = coverage;
      jumps++;
      if(coverage >= target ){
      return jumps;
      }
      }

    • @nikoo28
      @nikoo28  Před 8 měsíci

      the code works perfectly. Check the link in the description please :)

    • @ago7506
      @ago7506 Před 5 měsíci

      thx buddy
      @@Sowmyakotha-lj8te

  • @piyushanand3451
    @piyushanand3451 Před 3 měsíci

    instead of if(coverage>= destination), there should be (lastjumpIdx>=destination)

    • @nikoo28
      @nikoo28  Před 2 měsíci

      Why do you think so?

    • @piyushanand3451
      @piyushanand3451 Před 2 měsíci

      @@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.

    • @nikoo2805
      @nikoo2805 Před 2 měsíci

      @@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 :)

  • @ridj41
    @ridj41 Před 4 měsíci

    Not intutive at all the last one
    For me 1d dp was the best here

  • @randomeverything8304
    @randomeverything8304 Před měsícem

    The code that you provide in your videos are always WRONG!!!!!!!!!!!

    • @nikoo28
      @nikoo28  Před měsícem +1

      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?

    • @arpitsaxena2906
      @arpitsaxena2906 Před měsícem +1

      ​@@nikoo28some people are just there to cause problems 😂