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

Поделиться
HTML-код
  • Опубликовано: 26 авг 2024

Комментарии • 103

  • @luisguarin593
    @luisguarin593 11 месяцев назад +13

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

  • @nilaxgajjar.work8
    @nilaxgajjar.work8 2 месяца назад +2

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

  • @kalpitbansal9923
    @kalpitbansal9923 11 месяцев назад +9

    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.

  • @hajeeramohamad7641
    @hajeeramohamad7641 3 месяца назад +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.

  • @vinaysagar9280
    @vinaysagar9280 4 месяца назад +4

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

  • @SimpleCse2012
    @SimpleCse2012 2 месяца назад +2

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

  • @parthchaudhary5134
    @parthchaudhary5134 10 месяцев назад +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  9 месяцев назад

      thanks for the sub :)

  • @anupamakovid4568
    @anupamakovid4568 7 месяцев назад +3

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

    • @nikoo28
      @nikoo28  7 месяцев назад

      Thanks and welcome

  • @ayushsharma5516
    @ayushsharma5516 Месяц назад

    usually i don't comment on videos but dudu u are amazing....so easily u have explained me......😇..u got a new subscriber

    • @nikoo28
      @nikoo28  Месяц назад

      Thank you so much 😀

  • @raghebadel5689
    @raghebadel5689 7 месяцев назад +2

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

  • @tasniatahsin8637
    @tasniatahsin8637 9 месяцев назад +1

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

    • @nikoo28
      @nikoo28  9 месяцев назад

      good luck 😇

  • @vikashaakash5202
    @vikashaakash5202 5 месяцев назад

    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

  • @vaamigaming2673
    @vaamigaming2673 16 дней назад

    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

  • @janki-bx1rn
    @janki-bx1rn Месяц назад

    literally the best explanation ever!

  • @kamalasowmya7120
    @kamalasowmya7120 8 месяцев назад

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

  • @michi19935
    @michi19935 3 месяца назад

    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
    }

  • @dnc077
    @dnc077 3 месяца назад

    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  2 месяца назад +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  2 месяца назад +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 :)

  • @Anonymous____________A721
    @Anonymous____________A721 Месяц назад +1

    Literally the best one

  • @DhananjayKumar-bd2jg
    @DhananjayKumar-bd2jg 5 месяцев назад +1

    great explanation!

  • @udaykirankavaturu6942
    @udaykirankavaturu6942 9 месяцев назад +2

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

    • @nikoo28
      @nikoo28  8 месяцев назад +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

  • @gangadharsai2705
    @gangadharsai2705 7 месяцев назад

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

  • @abhaypatel379
    @abhaypatel379 Месяц назад

    Excellent work 🎉

  • @mdshahidansari9126
    @mdshahidansari9126 Месяц назад

    Awesome explanation sir

  • @AbhinavKumar-xo5ji
    @AbhinavKumar-xo5ji 7 месяцев назад +1

    Awsm explanation man

  • @vanshsharma-lg1hj
    @vanshsharma-lg1hj 2 месяца назад

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

  • @sahilsoni6339
    @sahilsoni6339 10 месяцев назад +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

  • @aashanadhameja5754
    @aashanadhameja5754 10 месяцев назад

    To the point explanation. Thanks!

  • @parthmodi2028
    @parthmodi2028 3 месяца назад

    great explaination !! u are too good

  • @shubhamroy1094
    @shubhamroy1094 9 месяцев назад +1

    badiya samjhaya

  • @riyasharma-rn2ur
    @riyasharma-rn2ur 3 месяца назад

    Very good explanation sir

    • @nikoo28
      @nikoo28  2 месяца назад

      Thanks and welcome

  • @UtkarshOjha
    @UtkarshOjha 9 месяцев назад

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

    • @nikoo28
      @nikoo28  9 месяцев назад

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

  • @m-bk4um
    @m-bk4um 11 месяцев назад +1

    simple and good

  • @tunebrotherdon
    @tunebrotherdon 10 месяцев назад

    Great explanation!

  • @subee128
    @subee128 7 месяцев назад +1

    Thanks

  • @itsmepratham2712
    @itsmepratham2712 11 месяцев назад

    Keep Going and Keep Posting

  • @swarajgupta8646
    @swarajgupta8646 4 месяца назад +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  4 месяца назад

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

  • @vnn6568
    @vnn6568 5 месяцев назад +1

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

    • @nikoo28
      @nikoo28  4 месяца назад

      What answer are you expecting ?

  • @raghavendravernekar4103
    @raghavendravernekar4103 6 месяцев назад

    nice explanation

  • @sriyanandakuchimanchi4042
    @sriyanandakuchimanchi4042 6 месяцев назад +1

    beautiful beautiful

  • @035-harshitsingh7
    @035-harshitsingh7 7 месяцев назад

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

    • @nikoo28
      @nikoo28  6 месяцев назад

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

  • @funnymoment9164
    @funnymoment9164 10 месяцев назад

    Thanks!

  • @PrashantKumar-fk8le
    @PrashantKumar-fk8le 11 месяцев назад

    Great man

  • @javeriyaj4101
    @javeriyaj4101 10 дней назад

    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

    • @nikoo28
      @nikoo28  10 дней назад +1

      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.

  • @basukinath2766
    @basukinath2766 11 месяцев назад

    thanks brother

  • @shibhamalik1274
    @shibhamalik1274 7 месяцев назад

    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  6 месяцев назад

      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

  • @mdshafiuddin1234
    @mdshafiuddin1234 11 месяцев назад

    Sir please make a playlist on advance recursion

    • @nikoo28
      @nikoo28  10 месяцев назад

      will do

  • @wahid4544
    @wahid4544 8 месяцев назад

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

    • @nikoo28
      @nikoo28  7 месяцев назад

      GoodNotes 6

  • @ago7506
    @ago7506 7 месяцев назад

    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  6 месяцев назад +1

      you will need to debug the test case

  • @nishanthsunkara1160
    @nishanthsunkara1160 10 месяцев назад

    I felt understanding coverage little tricky.

    • @nikoo28
      @nikoo28  10 месяцев назад

      what part did you face a problem with?

  • @mikeag1371
    @mikeag1371 8 месяцев назад

    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  7 месяцев назад

      check the problem constraints on the actual problem page :)

  • @CodeCraftAbhijit
    @CodeCraftAbhijit 5 месяцев назад

    amz explanation

  • @saicharanpinninti548
    @saicharanpinninti548 6 месяцев назад

    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 6 месяцев назад

      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  5 месяцев назад

      absolutely correct

  • @nihal6636
    @nihal6636 10 месяцев назад

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

    • @nikoo28
      @nikoo28  10 месяцев назад

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

    • @nihal6636
      @nihal6636 10 месяцев назад +1

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

    • @nigma933
      @nigma933 5 месяцев назад

      @@nihal6636 thank u!

  • @manvendrasingh4369
    @manvendrasingh4369 3 месяца назад

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

    • @nikoo28
      @nikoo28  3 месяца назад

      What errors did you find?

  • @Udaylux
    @Udaylux 3 месяца назад

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

    • @nikoo28
      @nikoo28  2 месяца назад

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

  • @rajukachori9536
    @rajukachori9536 2 месяца назад

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

  • @nihal6636
    @nihal6636 10 месяцев назад +1

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

    • @Sowmyakotha-lj8te
      @Sowmyakotha-lj8te 9 месяцев назад

      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  9 месяцев назад

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

    • @ago7506
      @ago7506 7 месяцев назад

      thx buddy
      @@Sowmyakotha-lj8te

  • @piyushanand3451
    @piyushanand3451 5 месяцев назад

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

    • @nikoo28
      @nikoo28  4 месяца назад

      Why do you think so?

    • @piyushanand3451
      @piyushanand3451 4 месяца назад

      @@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 4 месяца назад

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

  • @randomeverything8304
    @randomeverything8304 3 месяца назад

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

    • @nikoo28
      @nikoo28  2 месяца назад +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 2 месяца назад +1

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

  • @ridj41
    @ridj41 5 месяцев назад

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

  • @great.Indian.culture
    @great.Indian.culture 14 дней назад

    But my answer comes as 2 not 3 by ur code

    • @nikoo28
      @nikoo28  14 дней назад

      did you have a look at the code on my github profile?

    • @great.Indian.culture
      @great.Indian.culture 14 дней назад

      @@nikoo28 no I just copied this one.. u taught. Is github code different than this ??

    • @nikoo28
      @nikoo28  14 дней назад

      @@great.Indian.culture that has the full implementation with test cases. Check the links in video description.