Тёмный

Leetcode 46. Permutations : Introduction to backtracking 

ComputerBread
Подписаться 1,6 тыс.
Просмотров 98 тыс.
50% 1

Опубликовано:

 

5 окт 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 111   
@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: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-TFQQ-H5foZs.html
@alitaha1200
@alitaha1200 6 месяцев назад
Please do more backtracking videos, more leetcode kind of videos. The demand for this is huge.
@ComputerBread
@ComputerBread 6 месяцев назад
@@alitaha1200 Sure, do you have a specific leetcode question in mind, or anything specific you would like me to talk about?
@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_ Месяц назад
Me too haha
@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 😀
@samjackson4982
@samjackson4982 Год назад
"No one asked your opinion" - I laughed hard bro.. You are too mean. 😅🤣
@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!
@ricky7389
@ricky7389 10 месяцев назад
This is the cleanest backtracking explanation I've ever seen.
@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
@mrboyban
@mrboyban 2 года назад
1:10😂😂😂😂😂 , just made stay on this video. I like that reality check style!Good stuff mate.
@rameshreddibathuni
@rameshreddibathuni 3 года назад
The best among all the videos I watched related to this problem !!
@oleksandrshestopal5749
@oleksandrshestopal5749 3 года назад
The best explanation I have seen so far!!! Please do more videos
@christianjt7018
@christianjt7018 Месяц назад
The backtracking recipe is pure golden, this is a superb explanation, thank you.
@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 😀
@ashishm
@ashishm 2 года назад
Superb explanation. I was trying to come up with the recipe for backtracking and came across this video. Really helpful.
@chandanabhatt8231
@chandanabhatt8231 Год назад
I really like how provided backtracking recipe .
@samkomo4289
@samkomo4289 2 года назад
Thank you so much! The recipe and the ‘used’ trick really helped me understand
@TejaDuggirala
@TejaDuggirala 2 года назад
Wow.. this is the simplest permutation solution I have seen. Everyone doing that swapping thing which is so confusing. Thanks.
@shubhamkamdi6606
@shubhamkamdi6606 2 года назад
You made backtracking super easy to understand!
@user-gp8fr1nd3w
@user-gp8fr1nd3w 2 года назад
I really loved this! Please continue this series.
@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.
@stoup8778
@stoup8778 Месяц назад
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
@luckyim6504
@luckyim6504 2 года назад
This is legendary...backtracking receipe....omggg this video is so so so helpful!!
@richardnorth1881
@richardnorth1881 3 года назад
Excellent quality- you have a talent for teaching
@rednationsox2802
@rednationsox2802 3 года назад
best videos for backtracking ever. Hoping more explaination videos
@ishanpatel8683
@ishanpatel8683 Год назад
That backtracking recipe is goated
@CSDex
@CSDex 9 месяцев назад
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.
@soanonso
@soanonso 2 года назад
Excellent explanation. Thank you!
@hoangvu-zu6qg
@hoangvu-zu6qg 3 месяца назад
Really thanks to you, guy. This video made me more understand about backtracking.
@JMac___
@JMac___ 5 месяцев назад
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 5 месяцев назад
@harsh9028
@harsh9028 Год назад
Good explanation but would have liked it more if you also explained a full recursive run down of your code.
@darshandani1
@darshandani1 4 месяца назад
Thanks for this. Great explanation !
@bonginscandinavia
@bonginscandinavia 7 месяцев назад
Nice explanation for the letter A. I just paused and laughed out loud a while before moving on. 😄
@paulcardoos6277
@paulcardoos6277 3 года назад
Thank you for this great video.
@MisterCK124
@MisterCK124 Год назад
Thanks, good explanation!
@ComputerBread
@ComputerBread Год назад
You're welcome :)
@thoniasenna2330
@thoniasenna2330 21 день назад
hahahah i love you! best regards from brazil!
@10xDevLog
@10xDevLog Месяц назад
Great video! Thanks for this
@OverLordOfDa3rdWorld
@OverLordOfDa3rdWorld 2 года назад
BRO!!! YOU TAUGHT ME BACKTRACKING HOLY SHHHHHHHHIIIIIIEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEET!!!!!!!!!!
@pranjansana2598
@pranjansana2598 3 года назад
This is Badass,bro!!
@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 8 месяцев назад
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? :(
@NYBlueBlueSky
@NYBlueBlueSky Год назад
it's a good video!
@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 :)
@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?
@NirmalSilwal
@NirmalSilwal 3 года назад
haha I like your style
@Dev-zr8si
@Dev-zr8si 2 года назад
This is great I hope you make more.
@desipawal
@desipawal Год назад
beautifully explained
@YOLITOPINTO
@YOLITOPINTO 3 года назад
Noice explanation, I liked the graphics.
@tuano-wp9du
@tuano-wp9du 9 месяцев назад
very nice !! thank you very much
@motngay1niemvui
@motngay1niemvui 2 года назад
Sir, please comeback, this is the only one video that i understand -.-
@nerdy8644
@nerdy8644 Год назад
You kinda sound like jar jar binks
@sarwarjahan05
@sarwarjahan05 2 года назад
A very good content 👌
@tranpaul4550
@tranpaul4550 5 месяцев назад
Oh my God, It just clicked, all the time studying backtracking pattern
@xit
@xit 9 месяцев назад
Interviewer: do this problem1; ComputerBread: I'm the one doing it, I'll do problemA; OK! ...interviewer leaves the call
@enoch8835
@enoch8835 Год назад
OK JUST READ THE CODE but for real thank u for this video
@chaunguyen8202
@chaunguyen8202 3 года назад
Much better than swapping
@hawadrammeh8870
@hawadrammeh8870 2 года назад
I love you and your ascii joke lol
@notdumb3182
@notdumb3182 2 года назад
I love you bro.
@historyrevealed01
@historyrevealed01 7 месяцев назад
very nice, thanks
@karmeshduggar6694
@karmeshduggar6694 2 года назад
Thank you so much sir!
@piyushrewatkar6825
@piyushrewatkar6825 Год назад
best solution!
@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
@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); } } } }
@snpro_007
@snpro_007 2 года назад
Very helpful , thanks!!!!!!!!
@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.
@Yarin5879
@Yarin5879 2 месяца назад
thank you so much
@Arvindh-xp1lt
@Arvindh-xp1lt 3 года назад
great looking for more videos
@aadi7448
@aadi7448 Год назад
All the backtracking stuff is okay, but when are the joke videos coming? 😝 Jk, thanks a lot, this is such a clean explanation!
@CodingWerkstatt
@CodingWerkstatt Год назад
starts bad but is actually insanely good.
@dennisllopis2478
@dennisllopis2478 Год назад
2:26 lmao… I was concerned for a moment 😅
@shaileshwaghmare3
@shaileshwaghmare3 3 года назад
Nicely explained
@pratikawate5826
@pratikawate5826 3 года назад
Do more videos..it's been 1 year no more videos.. 🙄
@vikramragunathan6392
@vikramragunathan6392 2 года назад
Dope :)
@gazoonman
@gazoonman 2 года назад
A is a number change my mind
@adam23sp
@adam23sp 2 года назад
amazing
@gurjotkheeva130
@gurjotkheeva130 8 месяцев назад
THE BACKTRACKING RECIPE IS PURE GOLD! .... see @4:08
@supremoluminary
@supremoluminary Год назад
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.
@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.
@peregrine17
@peregrine17 Год назад
you could have explained it with a dry run of the code
@muratogulcan34
@muratogulcan34 11 месяцев назад
But A is not a number
@dubanrubiano84
@dubanrubiano84 Год назад
jsjsjs 1:15
@mariushostinar663
@mariushostinar663 Год назад
The beginning of the video was so cringe
@ComputerBread
@ComputerBread Год назад
True
@noodkhannavin
@noodkhannavin Год назад
A is not number .. 😅😂
@robertkovac7824
@robertkovac7824 2 месяца назад
thanks
@Ziggy0120
@Ziggy0120 3 года назад
1:00 hahaha
@Tlj10144
@Tlj10144 Месяц назад
What's up with the 188 dislikes lol
@ComputerBread
@ComputerBread Месяц назад
it's 191 now T_T
@Tlj10144
@Tlj10144 Месяц назад
@@ComputerBread fuck them, you should do more videos like this
@minhbui4817
@minhbui4817 2 года назад
Neetcode has nothing on u lol
@deepak1725
@deepak1725 2 года назад
Nobody asked my opinion 🤣
@tolska.
@tolska. 10 месяцев назад
everything was cool until 8:18 ,you became a terrorist
@ComputerBread
@ComputerBread 10 месяцев назад
yeah, I was so done with it! Sorry
@tolska.
@tolska. 10 месяцев назад
@@ComputerBread hahahahahaha
@caminante4222
@caminante4222 3 года назад
Good content but too much joking and nonsense
@xSlimLizardx
@xSlimLizardx 2 года назад
dont be boring
@mostinho7
@mostinho7 2 года назад
Wow…the guy makes a great video and u complain about him being funny
@ssuriset
@ssuriset 2 месяца назад
Oh god here we go
@Tlj10144
@Tlj10144 Месяц назад
You must be fun at parties
@emanuelrollin2930
@emanuelrollin2930 5 месяцев назад
less comedy please 😭
@ComputerBread
@ComputerBread 5 месяцев назад
Ok, no fun allowed, I am sorry
@bauyrjanjyenis3045
@bauyrjanjyenis3045 2 года назад
Terrible explanation!
Далее
5 Simple Steps for Solving Any Recursive Problem
21:03
would you eat this? #shorts
00:13
Просмотров 470 тыс.
@ItsMamix учу делать сигму😎
00:12
Просмотров 411 тыс.
Being Competent With Coding Is More Fun
11:13
Просмотров 89 тыс.
Dear Functional Bros
16:50
Просмотров 517 тыс.
10 Crazy Python Operators That I Rarely Use
11:37
Просмотров 28 тыс.
Is Computer Science still worth it?
20:08
Просмотров 367 тыс.
LeetCode was HARD until I Learned these 15 Patterns
13:00
LeetCode 46 - Permutations
19:18
Просмотров 78 тыс.
Backtracking (Think Like a Programmer)
13:02
Просмотров 331 тыс.
I Solved 100 LeetCode Problems
13:11
Просмотров 67 тыс.
How Dijkstra's Algorithm Works
8:31
Просмотров 1,3 млн