No video

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

  Рет қаралды 28,224

Nikhil Lohia

Nikhil Lohia

Күн бұрын

To see more videos like this, you can buy me a coffee: www.buymeacoffee.com/studyalg...
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

Пікірлер: 88
@namanpande7644
@namanpande7644 7 ай бұрын
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 2 ай бұрын
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 5 ай бұрын
Your solutions and explanations are great!! thank you
@nagendravelpuri444
@nagendravelpuri444 9 ай бұрын
For this problem i seen many videos, but this one was crystal clear and i never forget. Very Good Job Sir.
@nikoo28
@nikoo28 9 ай бұрын
So nice of you
@shwetakumari-ms2xg
@shwetakumari-ms2xg 11 ай бұрын
watching your video for the first time, really liked your explanation. Would watch more of your videos :) thanks!
@nikoo28
@nikoo28 9 ай бұрын
Glad you like them!
@Iam_Srikanth_009
@Iam_Srikanth_009 7 күн бұрын
It was really a clean and clear explanation ❤
@nandinideshpande1467
@nandinideshpande1467 21 күн бұрын
your explanation was very simple. made me understand the problem.
@nexonsensei3793
@nexonsensei3793 5 ай бұрын
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
@surenderreddy6294
@surenderreddy6294 Ай бұрын
fantastic brilliant,explanation sir,you deserve a lot
@arjitgautam365
@arjitgautam365 6 ай бұрын
really helpful. Thanks a lot!
@amitshukla2268
@amitshukla2268 8 ай бұрын
Very nice explanation, thanks, keep it up :)
@ankitchaurasiya529
@ankitchaurasiya529 2 ай бұрын
Just Wow... I understand after watching first time this video.
@akashvijayasarathy6234
@akashvijayasarathy6234 5 ай бұрын
this is a gem of a video.
@abhyudaysingh3381
@abhyudaysingh3381 9 күн бұрын
Best Explaination 👍
@suyashrahatekar4964
@suyashrahatekar4964 11 ай бұрын
underrated channel
@rambhaktuchihaobito7987
@rambhaktuchihaobito7987 4 ай бұрын
thank u sir ... for such a great explanation❣❣
@gauravjain969
@gauravjain969 10 ай бұрын
Awesome explanation 🔥
@ABDULKALAM-ig2dd
@ABDULKALAM-ig2dd 11 ай бұрын
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 11 ай бұрын
i am adding more and more problems when I get time. Trying to cover important problems first :)
@ABDULKALAM-ig2dd
@ABDULKALAM-ig2dd 11 ай бұрын
@@nikoo28 🤍
@Paradox82827
@Paradox82827 4 ай бұрын
Very good explaination!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@tejas5331
@tejas5331 5 ай бұрын
i like how you explain with Animation
@catsadogga1651
@catsadogga1651 2 ай бұрын
your explanation is super
@kunalkheeva
@kunalkheeva 10 ай бұрын
Dry run really helped! thanks a tonne!
@nikoo28
@nikoo28 9 ай бұрын
Great to hear!
@arslanmuhammad4190
@arslanmuhammad4190 Жыл бұрын
Hi Sir, You are gem. I am learning from you a lot. Thanks, Sir for this Help.
@nikoo28
@nikoo28 11 ай бұрын
It's my pleasure
@workHolic-ne6eo
@workHolic-ne6eo 8 ай бұрын
thats the video i was searching exactly
@Ayushkumar-co9mc
@Ayushkumar-co9mc 4 ай бұрын
Best explanation ever
@abhishekomprakash4074
@abhishekomprakash4074 7 ай бұрын
Super useful.💯
@jk-sm6qr
@jk-sm6qr 3 ай бұрын
Nice explaination, Thank you
@nikoo28
@nikoo28 3 ай бұрын
You are welcome
@LetsGo-ro1iq
@LetsGo-ro1iq 3 ай бұрын
Great Video
@saisree04
@saisree04 2 ай бұрын
Thanks a ton
@srikanthchebrolu1091
@srikanthchebrolu1091 Жыл бұрын
I'm fan of ur way of teaching I learnt trees because of u Hope you start dp playlist like trees please ♥️😇
@arslanmuhammad4190
@arslanmuhammad4190 Жыл бұрын
He is great.
@nikoo28
@nikoo28 11 ай бұрын
So nice of you
@satyam_28
@satyam_28 6 ай бұрын
Cool explanation bhai...and an advice...keep content concise and outro subtle
@nikoo28
@nikoo28 5 ай бұрын
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 8 ай бұрын
Thank you for your work!
@nikoo28
@nikoo28 8 ай бұрын
My pleasure!
@murugesh1915
@murugesh1915 2 ай бұрын
Nice content
@Karan9.9
@Karan9.9 7 ай бұрын
very nice and clear explanation thanks !!!
@nikoo28
@nikoo28 7 ай бұрын
Glad it was helpful!
@paridhishrivastava9133
@paridhishrivastava9133 10 ай бұрын
thankyou so much sir its too good
@user-zo6gw8mz7g
@user-zo6gw8mz7g 8 ай бұрын
Thank you, you helped me so much!
@nikoo28
@nikoo28 8 ай бұрын
You're very welcome!
@tanishkaagarwal6750
@tanishkaagarwal6750 11 ай бұрын
sir your explaination is awesome... keep uploading more videos.
@nikoo28
@nikoo28 11 ай бұрын
thanks for your feedback, keep watching :)
@subee128
@subee128 7 ай бұрын
Thanks
@taslimarahmanprema8643
@taslimarahmanprema8643 8 ай бұрын
Best one
@raghavachekuri7270
@raghavachekuri7270 11 ай бұрын
outstanding explination plz try to do playlist for DP ur explination is 🥳
@nikoo28
@nikoo28 9 ай бұрын
I have a playlist on DP. Constantly adding more and more problems to it: kzfaq.info/sun/PLFdAYMIVJQHPXtFM_9mpwwQtIdzP6kxHS
@MadpolygonDEV
@MadpolygonDEV 11 ай бұрын
Incredible presentation as always. Would love to have you do a problem solving mindset tips and tricks.
@nikoo28
@nikoo28 11 ай бұрын
that is a really great idea, I will add it to my pipeline of upcoming videos
@usmanrangrez-cd7zj
@usmanrangrez-cd7zj 11 ай бұрын
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; } };
@TraySoek
@TraySoek 11 ай бұрын
brilliant
@nehakanki1606
@nehakanki1606 5 ай бұрын
Got itt👍
@hamdasalam4373
@hamdasalam4373 20 күн бұрын
could you please create a video for leetcode 2483?
@jamesk6884
@jamesk6884 6 ай бұрын
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
@shubhamkumar-hx1fb
@shubhamkumar-hx1fb 6 ай бұрын
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 5 ай бұрын
glad you liked it
@mahadishakkhor123
@mahadishakkhor123 5 ай бұрын
i understand from u
@Shhhh-ni5jw
@Shhhh-ni5jw 4 ай бұрын
With this approach, we never stop on the 0’s right? We are checking if somehow we are able to bypass
@nikoo28
@nikoo28 3 ай бұрын
Yes
@abhinavprasad2828
@abhinavprasad2828 7 ай бұрын
Okay so, I don't usually comment but yeah this video was great.
@nikoo28
@nikoo28 7 ай бұрын
Thank you so much
@bipinsingh1490
@bipinsingh1490 10 ай бұрын
Bhai quality explaintaion h apka great baki KZfaq channel toh bs code padh dete h intuition toh batate v nhi h
@nikoo28
@nikoo28 9 ай бұрын
i like to focus on the problem solving, rather than the language. Languages will come and go. 😅, logic will stay
@filmbuzz9419
@filmbuzz9419 10 ай бұрын
Take a value and show it by dry run so we understand a bit more Thanks
@razataggarwal7365
@razataggarwal7365 8 ай бұрын
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.
@amitshukla2268
@amitshukla2268 8 ай бұрын
Please add your chair also in your Recording Gear? Did you buy it from amazon ?
@nikoo28
@nikoo28 7 ай бұрын
Links in the description :)
@amitshukla2268
@amitshukla2268 7 ай бұрын
@@nikoo28 i didn't find it.
@nikoo28
@nikoo28 5 ай бұрын
Chair is from Autonomous.
@gurudassulebhavikar
@gurudassulebhavikar 7 ай бұрын
You could have used your Jump Game 2 solution here. Both problems are almost same.
@user-ro3eh8ry9b
@user-ro3eh8ry9b 5 ай бұрын
Its O(N**2) ?? Can anyone explain in case of DP
@nikoo28
@nikoo28 4 ай бұрын
why do you want a solution with a poor time complexity?
@Mr.NothingSpecial
@Mr.NothingSpecial 5 ай бұрын
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 5 ай бұрын
My greed is that I want to reach the last pointer from where I am standing
@subhashreesahoo5760
@subhashreesahoo5760 2 ай бұрын
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 2 ай бұрын
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 2 ай бұрын
@@nikoo28 ok sure, Thank you, I will take your advice and implement the same.
@DigvijayKirti
@DigvijayKirti 6 ай бұрын
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 5 ай бұрын
you need to start from the last element, not the first one. watch the explanation that starts at 9:17
@singhvishal8794
@singhvishal8794 6 ай бұрын
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...
Hello Python Day-26 | Data Structures In Python
10:54
mayank aggarwal
Рет қаралды 77
CHOCKY MILK.. 🤣 #shorts
00:20
Savage Vlogs
Рет қаралды 21 МЛН
Fast and Furious: New Zealand 🚗
00:29
How Ridiculous
Рет қаралды 46 МЛН
Schoolboy - Часть 2
00:12
⚡️КАН АНДРЕЙ⚡️
Рет қаралды 11 МЛН
Bag of Tokens | Amazon Interview Question | Two Pointer | LeetCode 948 | C++
10:49
Programming With Niladree - PWN - Bangladesh
Рет қаралды 6
Jump Game - Greedy - Leetcode 55
16:28
NeetCode
Рет қаралды 225 М.
Winning Google Kickstart Round C 2020
30:57
William Lin
Рет қаралды 3,9 МЛН
I Solved 1583 Leetcode Questions  Here's What I Learned
20:37
ThePrimeTime
Рет қаралды 601 М.
L5. Jump Game - II | Greedy Algorithm Playlist
16:45
take U forward
Рет қаралды 30 М.
CHOCKY MILK.. 🤣 #shorts
00:20
Savage Vlogs
Рет қаралды 21 МЛН