Leetcode 46. Permutations : Introduction to backtracking

  Рет қаралды 108,098

ComputerBread

ComputerBread

Күн бұрын

Пікірлер: 116
@ComputerBread
@ComputerBread Ай бұрын
Thank you everyone for watching this video For more leetcode videos check out this playlist: kzbin.info/aero/PLuJfrVx3aQbG1_9k3khnuR0r2RaxExxse
@rohinirenduchintala
@rohinirenduchintala Жыл бұрын
This is the best backtracking video i have seen. Thank you for saving me another 24 hours of effort into learning this and saving me the rest of my hair on the head from being pulled!
@ComputerBread
@ComputerBread Жыл бұрын
I am glad it was helpful 😀
@sontredis2579
@sontredis2579 Жыл бұрын
props to you. This video was the literal ONLY video that helped me understand backtracking and how to apply the concept to ANY problem
@themindsculptor_
@themindsculptor_ 4 ай бұрын
Me too haha
@samjackson4982
@samjackson4982 2 жыл бұрын
"No one asked your opinion" - I laughed hard bro.. You are too mean. 😅🤣
@ricky7389
@ricky7389 Жыл бұрын
This is the cleanest backtracking explanation I've ever seen.
@MrBrainsYT
@MrBrainsYT Ай бұрын
Love this guy! He's funny and knowledgable. No dull movements, very interesting and engaging video. One of the coolest youtuber for Leetcode. I Highly recommend learning from him. :)
@ComputerBread
@ComputerBread Ай бұрын
Thank you
@vcb007
@vcb007 Жыл бұрын
This is the best video to start of solving a backtracking. Now I can think of optimisations, all the solutions I saw were swapping indexes but didn't seem intuitive although it's understandable. Your video is to the point and intuitive as well. Thanks
@christianjt7018
@christianjt7018 4 ай бұрын
The backtracking recipe is pure golden, this is a superb explanation, thank you.
@rameshreddibathuni
@rameshreddibathuni 4 жыл бұрын
The best among all the videos I watched related to this problem !!
@ComputerBread
@ComputerBread Жыл бұрын
Hey! I am back! Thank you so much for the support! It is truly motivating. I am coming back with more videos, for now I am shifting my focus on JavaScript, but if you want me to cover anything, let me know 😀 My new video about JavaScript Objects: kzbin.info/www/bejne/ine0gmB-asuikNU
@alitaha1200
@alitaha1200 9 ай бұрын
Please do more backtracking videos, more leetcode kind of videos. The demand for this is huge.
@ComputerBread
@ComputerBread 9 ай бұрын
@@alitaha1200 Sure, do you have a specific leetcode question in mind, or anything specific you would like me to talk about?
@denysostapenko445
@denysostapenko445 2 жыл бұрын
Wow! Your way to present materials is slightly unusual, but man! I've just seen one of the clearest explanations of backtracking and the permutation problem. Tree visualization was super helpful. Definitely got my like. Make more content!
@mrboyban
@mrboyban 2 жыл бұрын
1:10😂😂😂😂😂 , just made stay on this video. I like that reality check style!Good stuff mate.
@erana4124
@erana4124 2 жыл бұрын
Great explanation 🙂 "Give a Man a Fish, and You Feed Him for a Day. Teach a Man To Fish, and You Feed Him for a Lifetime" Here you explained the background knowledge behind the algorithm, and not just explaining the solution flow 🙂that's how teaching should be done Kudos 😀
@samkomo4289
@samkomo4289 2 жыл бұрын
Thank you so much! The recipe and the ‘used’ trick really helped me understand
@ashishm
@ashishm 2 жыл бұрын
Superb explanation. I was trying to come up with the recipe for backtracking and came across this video. Really helpful.
@TejaDuggirala
@TejaDuggirala 2 жыл бұрын
Wow.. this is the simplest permutation solution I have seen. Everyone doing that swapping thing which is so confusing. Thanks.
@JMac___
@JMac___ 8 ай бұрын
i love you man, this made a lot of sense to me and your backtracking building block helped me come to 90% of solution on my own
@ComputerBread
@ComputerBread 8 ай бұрын
@shubhamkamdi6606
@shubhamkamdi6606 3 жыл бұрын
You made backtracking super easy to understand!
@luckyim6504
@luckyim6504 2 жыл бұрын
This is legendary...backtracking receipe....omggg this video is so so so helpful!!
@user-gp8fr1nd3w
@user-gp8fr1nd3w 3 жыл бұрын
I really loved this! Please continue this series.
@CSDex
@CSDex Жыл бұрын
Seemed like you got nervous when you whipped out the code haha, I feel that. Best backtracking video I’ve watched so far. You did a great job of simplifying Back To Back SWE’s videos. Adding that backtracking recipe and using it to work through the problem was great.
@hoangvu-zu6qg
@hoangvu-zu6qg 6 ай бұрын
Really thanks to you, guy. This video made me more understand about backtracking.
@chandanabhatt8231
@chandanabhatt8231 2 жыл бұрын
I really like how provided backtracking recipe .
@richardnorth1881
@richardnorth1881 3 жыл бұрын
Excellent quality- you have a talent for teaching
@dareTake
@dareTake 2 жыл бұрын
Thanks, this was very helpful compared to other solutions that I had encountered. My initial thought process was to use a set and do a difference between the original set and permutation, didn't think of using a simple boolean array.
@rednationsox2802
@rednationsox2802 3 жыл бұрын
best videos for backtracking ever. Hoping more explaination videos
@fufuto
@fufuto 2 жыл бұрын
Why do we need to 'undo the choice' after permutation? We already discovered the permutations and print them. Why should I reverse back to original?
@ip14-2
@ip14-2 Жыл бұрын
That backtracking recipe is goated
@stoup8778
@stoup8778 3 ай бұрын
I really like your soln, very clear explanation. I didnt think of using a seperate vector to keep track of used elements either - I tried to used a set when I was implementing on my own and failed miserably haha
@oleksandrshestopal5749
@oleksandrshestopal5749 3 жыл бұрын
The best explanation I have seen so far!!! Please do more videos
@deepakreddy6528
@deepakreddy6528 Жыл бұрын
For anyone who wants a more intuitive solution the probem, by simply picking all choices 1 by 1 and also discarding the appended characters to allow for all permutations. class Solution: def permute(self, nums: List[int]) -> List[List[int]]: res = [] visited = [False for _ in range(len(nums))] def dfs(subset): if len(subset) == len(nums): res.append(subset.copy()) return for i in range(len(nums)): if not visited[i]: #Pick the choice visited[i] = True subset.append(nums[i]) dfs(subset) #Undo the choice visited[i] = False subset.pop() dfs([]) return res
@nerdy8644
@nerdy8644 Жыл бұрын
You kinda sound like jar jar binks
@soanonso
@soanonso 2 жыл бұрын
Excellent explanation. Thank you!
@bonginscandinavia
@bonginscandinavia 10 ай бұрын
Nice explanation for the letter A. I just paused and laughed out loud a while before moving on. 😄
@slizverg23
@slizverg23 Жыл бұрын
Dude, thank you sooo much for your solution! I'd almost gave up on this problem but you explanation was realy clean! ))
@ComputerBread
@ComputerBread Жыл бұрын
I am glad it helped :)
@OverLordOfDa3rdWorld
@OverLordOfDa3rdWorld 2 жыл бұрын
BRO!!! YOU TAUGHT ME BACKTRACKING HOLY SHHHHHHHHIIIIIIEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEET!!!!!!!!!!
@yingxie9974
@yingxie9974 25 күн бұрын
Very good explanation ! thanks for sharing !
@harsh9028
@harsh9028 Жыл бұрын
Good explanation but would have liked it more if you also explained a full recursive run down of your code.
@Marshlife54
@Marshlife54 3 жыл бұрын
Thank you for this great video.
@pranjansana2598
@pranjansana2598 3 жыл бұрын
This is Badass,bro!!
@Dev-zr8si
@Dev-zr8si 2 жыл бұрын
This is great I hope you make more.
@thoniasenna2330
@thoniasenna2330 3 ай бұрын
hahahah i love you! best regards from brazil!
@desipawal
@desipawal 2 жыл бұрын
beautifully explained
@motngay1niemvui
@motngay1niemvui 2 жыл бұрын
Sir, please comeback, this is the only one video that i understand -.-
@NirmalSilwal
@NirmalSilwal 3 жыл бұрын
haha I like your style
@darshandani1
@darshandani1 7 ай бұрын
Thanks for this. Great explanation !
@YOLITOPINTO
@YOLITOPINTO 3 жыл бұрын
Noice explanation, I liked the graphics.
@DevInDetour
@DevInDetour 4 ай бұрын
Great video! Thanks for this
@MisterCK124
@MisterCK124 Жыл бұрын
Thanks, good explanation!
@ComputerBread
@ComputerBread Жыл бұрын
You're welcome :)
@NYBlueBlueSky
@NYBlueBlueSky 2 жыл бұрын
it's a good video!
@CodingWerkstatt
@CodingWerkstatt Жыл бұрын
starts bad but is actually insanely good.
@Joytokey1231
@Joytokey1231 Жыл бұрын
Hey! The video is a great introduction to the topic, but I'm afraid you're presenting it to be more trivial than it really is, which may lead some viewers to feel they understand it when they might not. If possible, breaking down the algorithm step by step and explaining each recursive call in detail (at least until the second permutation is generated) could help. The recursive calls that produce nested loops and even more recursive calls aren't simple to keep track of in your head, especially since the "undoing" at the end of the initial for loop only happens after all those nested recursions occur and call their own removals. If you do so, keeping track of which indexes are used in your "used" array instead of the actual numbers may add complexity to the process of explaining it, thanks!
@FabriGLiza
@FabriGLiza 11 ай бұрын
Can you please explain to me how the hell does the algorithm manages to not take the previous vector and generate another one totally different? I'm having a rough time figuring it out. If the first vector was [1, 2, 3] and then deletes every element until the vector is void (and every element of the bool vector is false again), why in the world would the algorithm pick 3 after 1, instead of 2? :(
@BobBob-e
@BobBob-e Жыл бұрын
to me it seems like the return in the first if statement is unnecessary since if the goal is reached none of the choices will be valid and the recursion will stop?
@ComputerBread
@ComputerBread Жыл бұрын
In this case, yes, but returning early avoids unnecessary computation.
@sarwarjahan05
@sarwarjahan05 2 жыл бұрын
A very good content 👌
@tranpaul4550
@tranpaul4550 8 ай бұрын
Oh my God, It just clicked, all the time studying backtracking pattern
@xit
@xit Жыл бұрын
Interviewer: do this problem1; ComputerBread: I'm the one doing it, I'll do problemA; OK! ...interviewer leaves the call
@dennisllopis2478
@dennisllopis2478 Жыл бұрын
2:26 lmao… I was concerned for a moment 😅
@enoch8835
@enoch8835 2 жыл бұрын
OK JUST READ THE CODE but for real thank u for this video
@pratikawate5826
@pratikawate5826 3 жыл бұрын
Do more videos..it's been 1 year no more videos.. 🙄
@hawadrammeh8870
@hawadrammeh8870 2 жыл бұрын
I love you and your ascii joke lol
@Arvindh-xp1lt
@Arvindh-xp1lt 3 жыл бұрын
great looking for more videos
@weezarrdd
@weezarrdd Жыл бұрын
hey where are you from? your accent is super cool
@ComputerBread
@ComputerBread Жыл бұрын
Thank you, I am from France, but I try to "minimize" my accent.
@notdumb3182
@notdumb3182 2 жыл бұрын
I love you bro.
@regulardev
@regulardev Жыл бұрын
Thank a lot. It was really helpful in understanding both backtracking and permutation. Future viewers, this is O(n^n ), e.g for an array lof length 3, this logic is iteratively equivalent to int len = arr.Length; for(int i=0; i < len; i++) { for(int j=0; j < len; j++) { for(int k=0; k < len; k++) { if(i != j && j != k && i != k) { List perm = new() {arr[i], arr[j], arr[k] }; result.Add(perm); } } } }
@chaunguyen8202
@chaunguyen8202 3 жыл бұрын
Much better than swapping
@karmeshduggar6694
@karmeshduggar6694 2 жыл бұрын
Thank you so much sir!
@tuano-wp9du
@tuano-wp9du Жыл бұрын
very nice !! thank you very much
@shaileshwaghmare3
@shaileshwaghmare3 3 жыл бұрын
Nicely explained
@gazoonman
@gazoonman 2 жыл бұрын
A is a number change my mind
@snpro_007
@snpro_007 2 жыл бұрын
Very helpful , thanks!!!!!!!!
@gurjotkheeva130
@gurjotkheeva130 11 ай бұрын
THE BACKTRACKING RECIPE IS PURE GOLD! .... see @4:08
@piyushrewatkar6825
@piyushrewatkar6825 Жыл бұрын
best solution!
@historyrevealed01
@historyrevealed01 9 ай бұрын
very nice, thanks
@aadi7448
@aadi7448 2 жыл бұрын
All the backtracking stuff is okay, but when are the joke videos coming? 😝 Jk, thanks a lot, this is such a clean explanation!
@tolska.
@tolska. Жыл бұрын
everything was cool until 8:18 ,you became a terrorist
@ComputerBread
@ComputerBread Жыл бұрын
yeah, I was so done with it! Sorry
@tolska.
@tolska. Жыл бұрын
@@ComputerBread hahahahahaha
@peregrine17
@peregrine17 Жыл бұрын
you could have explained it with a dry run of the code
@Yarin5879
@Yarin5879 5 ай бұрын
thank you so much
@supremoluminary
@supremoluminary 2 жыл бұрын
I don’t mind the jokes, but actually, they’re kind of a distraction. I’m trying to understand this. Unfortunately, you lost me on the coding.
@adam23sp
@adam23sp 2 жыл бұрын
amazing
@muratogulcan34
@muratogulcan34 Жыл бұрын
But A is not a number
@vikramragunathan6392
@vikramragunathan6392 2 жыл бұрын
Dope :)
@noodkhannavin
@noodkhannavin Жыл бұрын
A is not number .. 😅😂
@robertkovac7824
@robertkovac7824 5 ай бұрын
thanks
@dubanrubiano84
@dubanrubiano84 2 жыл бұрын
jsjsjs 1:15
@Ziggy0120
@Ziggy0120 3 жыл бұрын
1:00 hahaha
@Tlj10144
@Tlj10144 4 ай бұрын
What's up with the 188 dislikes lol
@ComputerBread
@ComputerBread 4 ай бұрын
it's 191 now T_T
@Tlj10144
@Tlj10144 4 ай бұрын
@@ComputerBread fuck them, you should do more videos like this
@mariushostinar663
@mariushostinar663 Жыл бұрын
The beginning of the video was so cringe
@ComputerBread
@ComputerBread Жыл бұрын
True
@minhbui4817
@minhbui4817 2 жыл бұрын
Neetcode has nothing on u lol
@deepak1725
@deepak1725 2 жыл бұрын
Nobody asked my opinion 🤣
@bauyrjanjyenis3045
@bauyrjanjyenis3045 3 жыл бұрын
Terrible explanation!
@caminante4222
@caminante4222 3 жыл бұрын
Good content but too much joking and nonsense
@xSlimLizardx
@xSlimLizardx 3 жыл бұрын
dont be boring
@mostinho7
@mostinho7 2 жыл бұрын
Wow…the guy makes a great video and u complain about him being funny
@ssuriset
@ssuriset 5 ай бұрын
Oh god here we go
@Tlj10144
@Tlj10144 4 ай бұрын
You must be fun at parties
@emanuelrollin2930
@emanuelrollin2930 8 ай бұрын
less comedy please 😭
@ComputerBread
@ComputerBread 8 ай бұрын
Ok, no fun allowed, I am sorry
Largest rectangle in a histogram [Coding Interview]
19:54
ComputerBread
Рет қаралды 2 М.
Permutations - Leetcode 46 - Recursive Backtracking (Python)
9:42
진짜✅ 아님 가짜❌???
0:21
승비니 Seungbini
Рет қаралды 10 МЛН
Маусымашар-2023 / Гала-концерт / АТУ қоштасу
1:27:35
Jaidarman OFFICIAL / JCI
Рет қаралды 390 М.
$1 vs $500,000 Plane Ticket!
12:20
MrBeast
Рет қаралды 122 МЛН
Backtracking (Think Like a Programmer)
13:02
V. Anton Spraul
Рет қаралды 345 М.
LeetCode was HARD until I Learned these 15 Patterns
13:00
Ashish Pratap Singh
Рет қаралды 665 М.
The Backtracking Blueprint: The Legendary 3 Keys To Backtracking Algorithms
13:44
How Dijkstra's Algorithm Works
8:31
Spanning Tree
Рет қаралды 1,4 МЛН
Mastering Dynamic Programming - How to solve any interview problem (Part 1)
19:41
Recursion in Programming - Full Course
1:51:36
freeCodeCamp.org
Рет қаралды 974 М.
Backtracking: Permutations - Leetcode 46 - Python
9:43
NeetCode
Рет қаралды 370 М.
5 Simple Steps for Solving Any Recursive Problem
21:03
Reducible
Рет қаралды 1,3 МЛН
진짜✅ 아님 가짜❌???
0:21
승비니 Seungbini
Рет қаралды 10 МЛН