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

  Рет қаралды 25,474

Nikhil Lohia

Nikhil Lohia

Күн бұрын

Actual problem on LeetCode: leetcode.com/problems/jump-ga...
Chapters:
00:00 - Intro
00:45 - Problem statement and description
04:13 - Brute Force/Recursion/Dynamic Programming
07:57 - A simple test case
09:17 - Greedy Efficient Approach
15:26 - Dry-run of Code
17:38 - Final Thoughts
📚 Links to topics I talk about in the video:
Greedy Algorithmic Paradigm: • Greedy Algorithms with...
Problems on Arrays: • Arrays
Other Medium Difficulty Problems: • Medium Problems
📘 A text based explanation is available at: studyalgorithms.com
Code on Github: github.com/nikoo28/java-solut...
Test-cases on Github: github.com/nikoo28/java-solut...
📖 Reference Books:
Starting Learn to Code: amzn.to/36pU0JO
Favorite book to understand algorithms: amzn.to/39w3YLS
Favorite book for data structures: amzn.to/3oAVBTk
Get started for interview preparation: amzn.to/39ysbkJ
🔗 To see more videos like this, you can show your support on: www.buymeacoffee.com/studyalg...
🎥 My Recording Gear:
Recording Light: amzn.to/3pAqh8O
Microphone: amzn.to/2MCX7qU
Recording Camera: amzn.to/3alg9Ky
Tablet to sketch and draw: amzn.to/3pM6Bi4
Surface Pen: amzn.to/3pv6tTs
Laptop to edit videos: amzn.to/2LYpMqn
💻 Get Social 💻
Follow on Facebook at: / studyalgos
Subscribe to RSS feeds: studyalgorithms.com/feed/
Join fan mail: eepurl.com/g9Dadv
#leetcode #programming #interview

Пікірлер: 84
@namanpande7644
@namanpande7644 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 Ай бұрын
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 4 ай бұрын
Your solutions and explanations are great!! thank you
@nexonsensei3793
@nexonsensei3793 3 ай бұрын
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
@shwetakumari-ms2xg
@shwetakumari-ms2xg 9 ай бұрын
watching your video for the first time, really liked your explanation. Would watch more of your videos :) thanks!
@nikoo28
@nikoo28 8 ай бұрын
Glad you like them!
@nagendravelpuri444
@nagendravelpuri444 8 ай бұрын
For this problem i seen many videos, but this one was crystal clear and i never forget. Very Good Job Sir.
@nikoo28
@nikoo28 8 ай бұрын
So nice of you
@surenderreddy6294
@surenderreddy6294 24 күн бұрын
fantastic brilliant,explanation sir,you deserve a lot
@akashvijayasarathy6234
@akashvijayasarathy6234 3 ай бұрын
this is a gem of a video.
@suyashrahatekar4964
@suyashrahatekar4964 10 ай бұрын
underrated channel
@ankitchaurasiya529
@ankitchaurasiya529 Ай бұрын
Just Wow... I understand after watching first time this video.
@catsadogga1651
@catsadogga1651 25 күн бұрын
your explanation is super
@gauravjain969
@gauravjain969 8 ай бұрын
Awesome explanation 🔥
@arjitgautam365
@arjitgautam365 5 ай бұрын
really helpful. Thanks a lot!
@amitshukla2268
@amitshukla2268 6 ай бұрын
Very nice explanation, thanks, keep it up :)
@workHolic-ne6eo
@workHolic-ne6eo 7 ай бұрын
thats the video i was searching exactly
@rambhaktuchihaobito7987
@rambhaktuchihaobito7987 2 ай бұрын
thank u sir ... for such a great explanation❣❣
@ABDULKALAM-ig2dd
@ABDULKALAM-ig2dd 10 ай бұрын
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 10 ай бұрын
i am adding more and more problems when I get time. Trying to cover important problems first :)
@ABDULKALAM-ig2dd
@ABDULKALAM-ig2dd 10 ай бұрын
@@nikoo28 🤍
@tejas5331
@tejas5331 4 ай бұрын
i like how you explain with Animation
@Ayushkumar-co9mc
@Ayushkumar-co9mc 3 ай бұрын
Best explanation ever
@arslanmuhammad4190
@arslanmuhammad4190 10 ай бұрын
Hi Sir, You are gem. I am learning from you a lot. Thanks, Sir for this Help.
@nikoo28
@nikoo28 10 ай бұрын
It's my pleasure
@kunalkheeva
@kunalkheeva 9 ай бұрын
Dry run really helped! thanks a tonne!
@nikoo28
@nikoo28 8 ай бұрын
Great to hear!
@satyam_28
@satyam_28 5 ай бұрын
Cool explanation bhai...and an advice...keep content concise and outro subtle
@nikoo28
@nikoo28 4 ай бұрын
i try my best, but everyone has their own learning pace. for quick learners, i have chapter markers for faster navigation 😄
@user-zo6gw8mz7g
@user-zo6gw8mz7g 7 ай бұрын
Thank you for your work!
@nikoo28
@nikoo28 6 ай бұрын
My pleasure!
@Paradox82827
@Paradox82827 3 ай бұрын
Very good explaination!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@LetsGo-ro1iq
@LetsGo-ro1iq 2 ай бұрын
Great Video
@abhishekomprakash4074
@abhishekomprakash4074 6 ай бұрын
Super useful.💯
@srikanthchebrolu1091
@srikanthchebrolu1091 10 ай бұрын
I'm fan of ur way of teaching I learnt trees because of u Hope you start dp playlist like trees please ♥️😇
@arslanmuhammad4190
@arslanmuhammad4190 10 ай бұрын
He is great.
@nikoo28
@nikoo28 10 ай бұрын
So nice of you
@user-zo6gw8mz7g
@user-zo6gw8mz7g 7 ай бұрын
Thank you, you helped me so much!
@nikoo28
@nikoo28 7 ай бұрын
You're very welcome!
@saisree04
@saisree04 Ай бұрын
Thanks a ton
@tanishkaagarwal6750
@tanishkaagarwal6750 10 ай бұрын
sir your explaination is awesome... keep uploading more videos.
@nikoo28
@nikoo28 9 ай бұрын
thanks for your feedback, keep watching :)
@Karan9.9
@Karan9.9 6 ай бұрын
very nice and clear explanation thanks !!!
@nikoo28
@nikoo28 6 ай бұрын
Glad it was helpful!
@jk-sm6qr
@jk-sm6qr 2 ай бұрын
Nice explaination, Thank you
@nikoo28
@nikoo28 2 ай бұрын
You are welcome
@jamesk6884
@jamesk6884 5 ай бұрын
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
@paridhishrivastava9133
@paridhishrivastava9133 9 ай бұрын
thankyou so much sir its too good
@murugesh1915
@murugesh1915 29 күн бұрын
Nice content
@MadpolygonDEV
@MadpolygonDEV 10 ай бұрын
Incredible presentation as always. Would love to have you do a problem solving mindset tips and tricks.
@nikoo28
@nikoo28 9 ай бұрын
that is a really great idea, I will add it to my pipeline of upcoming videos
@razataggarwal7365
@razataggarwal7365 7 ай бұрын
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.
@subee128
@subee128 6 ай бұрын
Thanks
@usmanrangrez-cd7zj
@usmanrangrez-cd7zj 10 ай бұрын
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; } };
@taslimarahmanprema8643
@taslimarahmanprema8643 6 ай бұрын
Best one
@raghavachekuri7270
@raghavachekuri7270 9 ай бұрын
outstanding explination plz try to do playlist for DP ur explination is 🥳
@nikoo28
@nikoo28 8 ай бұрын
I have a playlist on DP. Constantly adding more and more problems to it: kzbin.info/aero/PLFdAYMIVJQHPXtFM_9mpwwQtIdzP6kxHS
@nehakanki1606
@nehakanki1606 4 ай бұрын
Got itt👍
@TraySoek
@TraySoek 10 ай бұрын
brilliant
@shubhamkumar-hx1fb
@shubhamkumar-hx1fb 5 ай бұрын
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 4 ай бұрын
glad you liked it
@Shhhh-ni5jw
@Shhhh-ni5jw 3 ай бұрын
With this approach, we never stop on the 0’s right? We are checking if somehow we are able to bypass
@nikoo28
@nikoo28 2 ай бұрын
Yes
@filmbuzz9419
@filmbuzz9419 9 ай бұрын
Take a value and show it by dry run so we understand a bit more Thanks
@gurudassulebhavikar
@gurudassulebhavikar 6 ай бұрын
You could have used your Jump Game 2 solution here. Both problems are almost same.
@Mr.NothingSpecial
@Mr.NothingSpecial 4 ай бұрын
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 4 ай бұрын
My greed is that I want to reach the last pointer from where I am standing
@subhashreesahoo5760
@subhashreesahoo5760 Ай бұрын
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 Ай бұрын
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 Ай бұрын
@@nikoo28 ok sure, Thank you, I will take your advice and implement the same.
@amitshukla2268
@amitshukla2268 6 ай бұрын
Please add your chair also in your Recording Gear? Did you buy it from amazon ?
@nikoo28
@nikoo28 6 ай бұрын
Links in the description :)
@amitshukla2268
@amitshukla2268 6 ай бұрын
@@nikoo28 i didn't find it.
@nikoo28
@nikoo28 4 ай бұрын
Chair is from Autonomous.
@mahadishakkhor123
@mahadishakkhor123 4 ай бұрын
i understand from u
@user-ro3eh8ry9b
@user-ro3eh8ry9b 4 ай бұрын
Its O(N**2) ?? Can anyone explain in case of DP
@nikoo28
@nikoo28 3 ай бұрын
why do you want a solution with a poor time complexity?
@bipinsingh1490
@bipinsingh1490 9 ай бұрын
Bhai quality explaintaion h apka great baki KZbin channel toh bs code padh dete h intuition toh batate v nhi h
@nikoo28
@nikoo28 8 ай бұрын
i like to focus on the problem solving, rather than the language. Languages will come and go. 😅, logic will stay
@abhinavprasad2828
@abhinavprasad2828 6 ай бұрын
Okay so, I don't usually comment but yeah this video was great.
@nikoo28
@nikoo28 6 ай бұрын
Thank you so much
@DigvijayKirti
@DigvijayKirti 5 ай бұрын
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 4 ай бұрын
you need to start from the last element, not the first one. watch the explanation that starts at 9:17
@singhvishal8794
@singhvishal8794 5 ай бұрын
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...
Khó thế mà cũng làm được || How did the police do that? #shorts
01:00
Must-have gadget for every toilet! 🤩 #gadget
00:27
GiGaZoom
Рет қаралды 12 МЛН
ROCK PAPER SCISSOR! (55 MLN SUBS!) feat @PANDAGIRLOFFICIAL #shorts
00:31
My little bro is funny😁  @artur-boy
00:18
Andrey Grechka
Рет қаралды 13 МЛН
Mastering Dynamic Programming - How to solve any interview problem (Part 1)
19:41
Leetcode 46. Permutations : Introduction to backtracking
10:06
ComputerBread
Рет қаралды 87 М.
Jump Game - Greedy - Leetcode 55
16:28
NeetCode
Рет қаралды 215 М.
I gave 127 interviews. Top 5 Algorithms they asked me.
8:36
Sahil & Sarra
Рет қаралды 611 М.
Jump game | Leetcode #55 | Valley peak approach
12:28
Techdose
Рет қаралды 182 М.
L5. Jump Game - II | Greedy Algorithm Playlist
16:45
take U forward
Рет қаралды 13 М.
Khó thế mà cũng làm được || How did the police do that? #shorts
01:00