Jump Game (LeetCode 55) | Full solution with animations and visuals | Greedy Algorithms

Поділитися
Вставка
  • Опубліковано 12 вер 2024

КОМЕНТАРІ • 93

  • @razataggarwal7365
    @razataggarwal7365 9 місяців тому +3

    Why we are calling optimal solution as greedy algorithm ?
    My perspective :
    If I see it, we have optimized our Iterative DP (Tabulation) by going to every index from last to first and asking if i can reach target or not.

  • @namanpande7644
    @namanpande7644 8 місяців тому +6

    This is actually a very good explanation. I was able to understand because of the dry-run of the code. Thanks a lot.

  • @arupgope2676
    @arupgope2676 3 місяці тому

    your explanation is great. I have tried many dsa channels to follow. Then I find this channel. It is so great and underrated.

  • @meghan6819
    @meghan6819 6 місяців тому +4

    Your solutions and explanations are great!! thank you

  • @shwetakumari-ms2xg
    @shwetakumari-ms2xg Рік тому +2

    watching your video for the first time, really liked your explanation. Would watch more of your videos :) thanks!

    • @nikoo28
      @nikoo28  11 місяців тому

      Glad you like them!

  • @srikanthchebrolu1091
    @srikanthchebrolu1091 Рік тому +4

    I'm fan of ur way of teaching
    I learnt trees because of u
    Hope you start dp playlist like trees
    please ♥️😇

  • @ABDULKALAM-ig2dd
    @ABDULKALAM-ig2dd Рік тому +2

    Sir I am big fan of your leetcode playlist, Regularly folllowing it ,Please continue doing more videos on leetcode ,Waiting for more Leetcode problems ❤

    • @nikoo28
      @nikoo28  Рік тому +1

      i am adding more and more problems when I get time. Trying to cover important problems first :)

    • @ABDULKALAM-ig2dd
      @ABDULKALAM-ig2dd Рік тому

      @@nikoo28 🤍

  • @nagendravelpuri444
    @nagendravelpuri444 11 місяців тому

    For this problem i seen many videos, but this one was crystal clear and i never forget.
    Very Good Job Sir.

    • @nikoo28
      @nikoo28  10 місяців тому

      So nice of you

  • @usmanrangrez-cd7zj
    @usmanrangrez-cd7zj Рік тому +1

    class Solution {
    public:
    bool canJump(vector& nums) {
    int n=nums.size();
    int maxJump=0;
    for(int i=0;imaxJump)
    return false;
    maxJump = max(maxJump,i+nums[i]);
    if(i>=n-1)
    return true;
    }
    return false;
    }
    };

  • @nexonsensei3793
    @nexonsensei3793 6 місяців тому

    I watched so many videos n i could not understand the problem , after watching your video i finally understood it🥺🔥 the visualisation helped alot to understand

  • @nandinideshpande1467
    @nandinideshpande1467 Місяць тому

    your explanation was very simple. made me understand the problem.

  • @suyashrahatekar4964
    @suyashrahatekar4964 Рік тому +2

    underrated channel

  • @jamesk6884
    @jamesk6884 7 місяців тому +1

    amazing explanation, love the video.
    this is my algorithm before watching ur video, it only passed 120/170 test cases when i tried to submit it. So i just wanted to know if my approach to this question is definitely incorrect.
    class Solution {
    public boolean canJump(int[] nums) {
    int size = nums.length-1;
    int sum = 0;
    for (int i=0; i < nums.length-1; i++){
    sum += nums[i];
    }
    if (sum-(nums.length-2)>= size){
    return true;
    } else if (nums[0]>= nums.length-1){
    return true;
    } else{
    return false;
    }
    }
    }
    again, thx for the video

  • @arslanmuhammad4190
    @arslanmuhammad4190 Рік тому +1

    Hi Sir, You are gem. I am learning from you a lot. Thanks, Sir for this Help.

  • @MadpolygonDEV
    @MadpolygonDEV Рік тому +2

    Incredible presentation as always. Would love to have you do a problem solving mindset tips and tricks.

    • @nikoo28
      @nikoo28  Рік тому

      that is a really great idea, I will add it to my pipeline of upcoming videos

  • @sravansunkara
    @sravansunkara 13 днів тому

    Excellent solution

  • @Iam_Srikanth_009
    @Iam_Srikanth_009 Місяць тому

    It was really a clean and clear explanation ❤

  • @ankitchaurasiya529
    @ankitchaurasiya529 3 місяці тому

    Just Wow...
    I understand after watching first time this video.

  • @surenderreddy6294
    @surenderreddy6294 3 місяці тому

    fantastic brilliant,explanation sir,you deserve a lot

  • @tamilansgame7306
    @tamilansgame7306 3 дні тому

    perfect explantion

  • @abhyudaysingh3381
    @abhyudaysingh3381 Місяць тому

    Best Explaination 👍

  • @satyam_28
    @satyam_28 7 місяців тому

    Cool explanation bhai...and an advice...keep content concise and outro subtle

    • @nikoo28
      @nikoo28  7 місяців тому

      i try my best, but everyone has their own learning pace. for quick learners, i have chapter markers for faster navigation 😄

  • @rambhaktuchihaobito7987
    @rambhaktuchihaobito7987 5 місяців тому +1

    thank u sir ... for such a great explanation❣❣

  • @amitshukla2268
    @amitshukla2268 9 місяців тому +1

    Please add your chair also in your Recording Gear? Did you buy it from amazon ?

    • @nikoo28
      @nikoo28  8 місяців тому

      Links in the description :)

    • @amitshukla2268
      @amitshukla2268 8 місяців тому

      @@nikoo28 i didn't find it.

    • @nikoo28
      @nikoo28  6 місяців тому

      Chair is from Autonomous.

  • @Mr.NothingSpecial
    @Mr.NothingSpecial 6 місяців тому

    You're basically looking for the last reachable index at each iteration. That is not a greedy approach. Can you explain what do you mean by greedy approach?

    • @nikoo28
      @nikoo28  6 місяців тому

      My greed is that I want to reach the last pointer from where I am standing

  • @arjitgautam365
    @arjitgautam365 7 місяців тому +1

    really helpful. Thanks a lot!

  • @akashvijayasarathy6234
    @akashvijayasarathy6234 6 місяців тому

    this is a gem of a video.

  • @jk-sm6qr
    @jk-sm6qr 4 місяці тому

    Nice explaination, Thank you

    • @nikoo28
      @nikoo28  4 місяці тому +1

      You are welcome

  • @yomamasofat413
    @yomamasofat413 Місяць тому

    man every question like this just feels so exhausting. It's either some kind of trick or hack to solve the problem.

  • @subee128
    @subee128 8 місяців тому +1

    Thanks

  • @kunalkheeva
    @kunalkheeva 11 місяців тому

    Dry run really helped! thanks a tonne!

    • @nikoo28
      @nikoo28  11 місяців тому

      Great to hear!

  • @tejas5331
    @tejas5331 6 місяців тому

    i like how you explain with Animation

  • @nguyenhoanthien4277
    @nguyenhoanthien4277 4 дні тому

    great!

  • @Paradox82827
    @Paradox82827 5 місяців тому

    Very good explaination!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

  • @catsadogga1651
    @catsadogga1651 3 місяці тому

    your explanation is super

  • @workHolic-ne6eo
    @workHolic-ne6eo 9 місяців тому

    thats the video i was searching exactly

  • @LetsGo-ro1iq
    @LetsGo-ro1iq 5 місяців тому +1

    Great Video

  • @Ayushkumar-co9mc
    @Ayushkumar-co9mc 5 місяців тому

    Best explanation ever

  • @tanishkaagarwal6750
    @tanishkaagarwal6750 Рік тому

    sir your explaination is awesome... keep uploading more videos.

    • @nikoo28
      @nikoo28  Рік тому

      thanks for your feedback, keep watching :)

  • @gurudassulebhavikar
    @gurudassulebhavikar 9 місяців тому +1

    You could have used your Jump Game 2 solution here. Both problems are almost same.

  • @amitshukla2268
    @amitshukla2268 9 місяців тому

    Very nice explanation, thanks, keep it up :)

  • @subhashreesahoo5760
    @subhashreesahoo5760 3 місяці тому

    Hi.. Thanks for the vide, your explanation is really good and helpful.
    But I do have doubt here and a request while explaining , pls consider the code also .
    I feel like the explanation and the dry run code somewhere I am unable to understabnd(may be I need more practice but still..)
    Example-> while explaining you said to go back step from 1 , that is 0, you cant reach the destination => agree
    but in dry run code-> idx+nums[idx] , how are you bringing these terms, like how did you think its should be in this way , its like idx=7,nums[7]=0 and you are adding both 7+0=7, so i am not getting how your idea is to add idx+nums[idex].

    • @nikoo28
      @nikoo28  3 місяці тому

      If you have understood the explanation, try to write the code on your own. That is the only way you will learn. If everything else fails, only then refer to someone else’s code.

    • @subhashreesahoo5760
      @subhashreesahoo5760 3 місяці тому

      @@nikoo28 ok sure, Thank you, I will take your advice and implement the same.

  • @saisree04
    @saisree04 3 місяці тому

    Thanks a ton

  • @shubhamkumar-hx1fb
    @shubhamkumar-hx1fb 8 місяців тому

    i really hate kind of videos which doesnt tells the intuition why we are doing so.....there are many videos avl for this pblm and many of them are just doing the dry run of the code without telling the intuition behind their though process....
    But i am really thanks to you sir that you focused more on the intuition behind the code and have not just done the dry run 😌😌

    • @nikoo28
      @nikoo28  7 місяців тому

      glad you liked it

  • @Karan9.9
    @Karan9.9 8 місяців тому

    very nice and clear explanation thanks !!!

    • @nikoo28
      @nikoo28  8 місяців тому

      Glad it was helpful!

  • @КарэнАкопьян
    @КарэнАкопьян 10 місяців тому

    Thank you for your work!

    • @nikoo28
      @nikoo28  9 місяців тому

      My pleasure!

  • @raghavachekuri7270
    @raghavachekuri7270 Рік тому

    outstanding explination plz try to do playlist for DP ur explination is 🥳

    • @nikoo28
      @nikoo28  11 місяців тому

      I have a playlist on DP. Constantly adding more and more problems to it: ua-cam.com/play/PLFdAYMIVJQHPXtFM_9mpwwQtIdzP6kxHS.html

  • @КарэнАкопьян
    @КарэнАкопьян 10 місяців тому

    Thank you, you helped me so much!

    • @nikoo28
      @nikoo28  10 місяців тому

      You're very welcome!

  • @gauravjain969
    @gauravjain969 11 місяців тому

    Awesome explanation 🔥

  • @Shhhh-ni5jw
    @Shhhh-ni5jw 5 місяців тому

    With this approach, we never stop on the 0’s right? We are checking if somehow we are able to bypass

  • @SibiRanganathL
    @SibiRanganathL 2 дні тому

    Understood

  • @murugesh1915
    @murugesh1915 3 місяці тому

    Nice content

  • @abhishekomprakash4074
    @abhishekomprakash4074 8 місяців тому

    Super useful.💯

  • @filmbuzz9419
    @filmbuzz9419 11 місяців тому

    Take a value and show it by dry run so we understand a bit more Thanks

  • @abhinavprasad2828
    @abhinavprasad2828 8 місяців тому

    Okay so, I don't usually comment but yeah this video was great.

    • @nikoo28
      @nikoo28  8 місяців тому

      Thank you so much

  • @hamdasalam4373
    @hamdasalam4373 Місяць тому

    could you please create a video for leetcode 2483?

  • @taslimarahmanprema8643
    @taslimarahmanprema8643 9 місяців тому +1

    Best one

  • @paridhishrivastava9133
    @paridhishrivastava9133 Рік тому

    thankyou so much sir its too good

  • @TraySoek
    @TraySoek Рік тому +1

    brilliant

  • @bipinsingh1490
    @bipinsingh1490 11 місяців тому

    Bhai quality explaintaion h apka great baki UA-cam channel toh bs code padh dete h intuition toh batate v nhi h

    • @nikoo28
      @nikoo28  11 місяців тому

      i like to focus on the problem solving, rather than the language. Languages will come and go. 😅, logic will stay

  • @mahadishakkhor123
    @mahadishakkhor123 6 місяців тому

    i understand from u

  • @singhvishal8794
    @singhvishal8794 7 місяців тому +2

    i actually tried this code and come across a wrong ans for [1] as it is reachable at any cost so i run the loop from nums.length -1 to 0 and that worked.... and thank you for this amazing solution i stuck on this for 3 hrs straight...

  • @nehakanki1606
    @nehakanki1606 6 місяців тому

    Got itt👍

  • @user-ro3eh8ry9b
    @user-ro3eh8ry9b 6 місяців тому

    Its O(N**2) ?? Can anyone explain in case of DP

    • @nikoo28
      @nikoo28  6 місяців тому

      why do you want a solution with a poor time complexity?

  • @DigvijayKirti
    @DigvijayKirti 7 місяців тому

    What if the second last element is zero?
    Let's dry run the provided array [3, 2, 1, 0, 4] through the given canJump method:
    Dry run:
    Initial State: lastElement = 4 (index of the last element).
    Iteration 1 (i = 3):
    i + nums[i] = 3 + 0 >= 4, which is less than lastElement. No update.
    Iteration 2 (i = 2):
    i + nums[i] = 2 + 1 >= 4, which is less than lastElement. No update
    Iteration 3 (i = 1):
    i + nums[i] = 1 + 2 >= 4, which is less than lastElement. No update
    Iteration 4 (i = 0):
    i + nums[i] = 0 + 3 >= 4, which is less than lastElement. No update
    Return: lastElement == 0, which is true.
    So, for the array [3, 2, 1, 0, 4], the canJump method returns true, indicating that it is possible to jump from the first element to the last element.
    Please explain I'm not able to understand the false case?

    • @nikoo28
      @nikoo28  7 місяців тому

      you need to start from the last element, not the first one. watch the explanation that starts at 9:17