Leetcode 46. Permutations : Introduction to backtracking

Поделиться
HTML-код
  • Опубликовано: 13 янв 2025

Комментарии • 118

  • @ComputerBread
    @ComputerBread  2 месяца назад +1

    Thank you everyone for watching this video
    For more leetcode videos check out this playlist: ruclips.net/p/PLuJfrVx3aQbG1_9k3khnuR0r2RaxExxse

  • @samjackson4982
    @samjackson4982 2 года назад +17

    "No one asked your opinion" - I laughed hard bro.. You are too mean. 😅🤣

  • @rohinirenduchintala
    @rohinirenduchintala Год назад +33

    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!

  • @sontredis2579
    @sontredis2579 Год назад +12

    props to you. This video was the literal ONLY video that helped me understand backtracking and how to apply the concept to ANY problem

  • @ComputerBread
    @ComputerBread  Год назад +15

    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: ruclips.net/video/TFQQ-H5foZs/видео.html

    • @alitaha1200
      @alitaha1200 9 месяцев назад +1

      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?

  • @mrboyban
    @mrboyban 2 года назад +7

    1:10😂😂😂😂😂 , just made stay on this video. I like that reality check style!Good stuff mate.

  • @ricky7389
    @ricky7389 Год назад +2

    This is the cleanest backtracking explanation I've ever seen.

  • @vcb007
    @vcb007 Год назад +4

    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

  • @denysostapenko445
    @denysostapenko445 3 года назад +15

    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!

  • @MrBrainsYT
    @MrBrainsYT 2 месяца назад +1

    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. :)

  • @rameshreddibathuni
    @rameshreddibathuni 4 года назад +4

    The best among all the videos I watched related to this problem !!

  • @christianjt7018
    @christianjt7018 5 месяцев назад

    The backtracking recipe is pure golden, this is a superb explanation, thank you.

  • @ashishm
    @ashishm 2 года назад +4

    Superb explanation. I was trying to come up with the recipe for backtracking and came across this video. Really helpful.

  • @TejaDuggirala
    @TejaDuggirala 2 года назад +2

    Wow.. this is the simplest permutation solution I have seen. Everyone doing that swapping thing which is so confusing. Thanks.

  • @user-gp8fr1nd3w
    @user-gp8fr1nd3w 3 года назад +7

    I really loved this! Please continue this series.

  • @samkomo4289
    @samkomo4289 2 года назад +3

    Thank you so much! The recipe and the ‘used’ trick really helped me understand

  • @erana4124
    @erana4124 2 года назад +4

    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 😀

  • @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.

  • @shubhamkamdi6606
    @shubhamkamdi6606 3 года назад +4

    You made backtracking super easy to understand!

  • @chandanabhatt8231
    @chandanabhatt8231 2 года назад +3

    I really like how provided backtracking recipe .

  • @luckyim6504
    @luckyim6504 2 года назад +2

    This is legendary...backtracking receipe....omggg this video is so so so helpful!!

  • @richardnorth1881
    @richardnorth1881 3 года назад +6

    Excellent quality- you have a talent for teaching

  • @fufuto
    @fufuto 2 года назад +1

    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?

  • @dareTake
    @dareTake 2 года назад +3

    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 года назад +3

    best videos for backtracking ever. Hoping more explaination videos

  • @hoangvu-zu6qg
    @hoangvu-zu6qg 7 месяцев назад

    Really thanks to you, guy. This video made me more understand about backtracking.

  • @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

  • @soanonso
    @soanonso 2 года назад +3

    Excellent explanation. Thank you!

  • @ip14-2
    @ip14-2 Год назад +1

    That backtracking recipe is goated

  • @harsh9028
    @harsh9028 Год назад +2

    Good explanation but would have liked it more if you also explained a full recursive run down of your code.

  • @oleksandrshestopal5749
    @oleksandrshestopal5749 3 года назад +12

    The best explanation I have seen so far!!! Please do more videos

  • @stoup8778
    @stoup8778 4 месяца назад

    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

  • @nerdy8644
    @nerdy8644 Год назад +19

    You kinda sound like jar jar binks

  • @bonginscandinavia
    @bonginscandinavia 11 месяцев назад

    Nice explanation for the letter A. I just paused and laughed out loud a while before moving on. 😄

  • @yingxie9974
    @yingxie9974 Месяц назад

    Very good explanation ! thanks for sharing !

  • @slizverg23
    @slizverg23 Год назад +1

    Dude, thank you sooo much for your solution! I'd almost gave up on this problem but you explanation was realy clean! ))

  • @deepakreddy6528
    @deepakreddy6528 Год назад +1

    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

  • @Marshlife54
    @Marshlife54 3 года назад +4

    Thank you for this great video.

  • @motngay1niemvui
    @motngay1niemvui 2 года назад +1

    Sir, please comeback, this is the only one video that i understand -.-

  • @Dev-zr8si
    @Dev-zr8si 2 года назад +1

    This is great I hope you make more.

  • @OverLordOfDa3rdWorld
    @OverLordOfDa3rdWorld 3 года назад +1

    BRO!!! YOU TAUGHT ME BACKTRACKING HOLY SHHHHHHHHIIIIIIEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEET!!!!!!!!!!

  • @Joytokey1231
    @Joytokey1231 Год назад +3

    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? :(

  • @YOLITOPINTO
    @YOLITOPINTO 3 года назад +2

    Noice explanation, I liked the graphics.

  • @pranjansana2598
    @pranjansana2598 3 года назад +4

    This is Badass,bro!!

  • @desipawal
    @desipawal 2 года назад +2

    beautifully explained

  • @MisterCK124
    @MisterCK124 Год назад +1

    Thanks, good explanation!

  • @darshandani1
    @darshandani1 7 месяцев назад

    Thanks for this. Great explanation !

  • @CodingWerkstatt
    @CodingWerkstatt Год назад

    starts bad but is actually insanely good.

  • @Arvindh-xp1lt
    @Arvindh-xp1lt 3 года назад +1

    great looking for more videos

  • @pratikawate5826
    @pratikawate5826 3 года назад +1

    Do more videos..it's been 1 year no more videos.. 🙄

  • @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  Год назад +1

      In this case, yes, but returning early avoids unnecessary computation.

  • @thoniasenna2330
    @thoniasenna2330 4 месяца назад +1

    hahahah i love you! best regards from brazil!

  • @NirmalSilwal
    @NirmalSilwal 3 года назад +6

    haha I like your style

  • @DevInDetour
    @DevInDetour 5 месяцев назад

    Great video! Thanks for this

  • @sarwarjahan05
    @sarwarjahan05 2 года назад +1

    A very good content 👌

  • @xit
    @xit Год назад

    Interviewer: do this problem1;
    ComputerBread: I'm the one doing it, I'll do problemA; OK!
    ...interviewer leaves the call

  • @enoch8835
    @enoch8835 2 года назад +1

    OK JUST READ THE CODE
    but for real thank u for this video

  • @tranpaul4550
    @tranpaul4550 8 месяцев назад

    Oh my God, It just clicked, all the time studying backtracking pattern

  • @dennisllopis2478
    @dennisllopis2478 Год назад

    2:26 lmao… I was concerned for a moment 😅

  • @gazoonman
    @gazoonman 2 года назад +2

    A is a number
    change my mind

  • @karmeshduggar6694
    @karmeshduggar6694 2 года назад +1

    Thank you so much sir!

  • @chaunguyen8202
    @chaunguyen8202 3 года назад +1

    Much better than swapping

  • @hawadrammeh8870
    @hawadrammeh8870 2 года назад +1

    I love you and your ascii joke lol

  • @gurjotkheeva130
    @gurjotkheeva130 11 месяцев назад

    THE BACKTRACKING RECIPE IS PURE GOLD! .... see @4:08

  • @NYBlueBlueSky
    @NYBlueBlueSky 2 года назад +2

    it's a good video!

  • @weezarrdd
    @weezarrdd Год назад

    hey where are you from? your accent is super cool

    • @ComputerBread
      @ComputerBread  Год назад +1

      Thank you, I am from France, but I try to "minimize" my accent.

  • @regulardev
    @regulardev Год назад +1

    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);
    }
    }
    }
    }

  • @aadi7448
    @aadi7448 2 года назад +1

    All the backtracking stuff is okay, but when are the joke videos coming? 😝
    Jk, thanks a lot, this is such a clean explanation!

  • @supremoluminary
    @supremoluminary 2 года назад +1

    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.

  • @shaileshwaghmare3
    @shaileshwaghmare3 3 года назад +1

    Nicely explained

  • @notdumb3182
    @notdumb3182 2 года назад +1

    I love you bro.

  • @tuano-wp9du
    @tuano-wp9du Год назад

    very nice !! thank you very much

  • @snpro_007
    @snpro_007 2 года назад +1

    Very helpful , thanks!!!!!!!!

  • @peregrine17
    @peregrine17 Год назад

    you could have explained it with a dry run of the code

  • @piyushrewatkar6825
    @piyushrewatkar6825 Год назад +1

    best solution!

  • @muratogulcan34
    @muratogulcan34 Год назад

    But A is not a number

  • @vikramragunathan6392
    @vikramragunathan6392 2 года назад +1

    Dope :)

  • @historyrevealed01
    @historyrevealed01 10 месяцев назад

    very nice, thanks

  • @noodkhannavin
    @noodkhannavin Год назад +1

    A is not number .. 😅😂

  • @adam23sp
    @adam23sp 2 года назад +1

    amazing

  • @tolska.
    @tolska. Год назад +1

    everything was cool until 8:18 ,you became a terrorist

    • @ComputerBread
      @ComputerBread  Год назад

      yeah, I was so done with it! Sorry

    • @tolska.
      @tolska. Год назад

      @@ComputerBread hahahahahaha

  • @Yarin5879
    @Yarin5879 5 месяцев назад

    thank you so much

  • @dubanrubiano84
    @dubanrubiano84 2 года назад +1

    jsjsjs 1:15

  • @Tlj10144
    @Tlj10144 5 месяцев назад

    What's up with the 188 dislikes lol

    • @ComputerBread
      @ComputerBread  5 месяцев назад

      it's 191 now T_T

    • @Tlj10144
      @Tlj10144 5 месяцев назад

      @@ComputerBread fuck them, you should do more videos like this

  • @kovvac
    @kovvac 6 месяцев назад

    thanks

  • @mmm-ie5ws
    @mmm-ie5ws 15 часов назад

    This is crazy. You didn't explain why he use what you wrote in code which is the main part. Completely useless video. You just copied and pasted what you saw/read somewhere else. I would argue do you even understand backtracking yourself? Yikes! Alsos top sleep talking through the video, if you tired go to sleep.

  • @Ziggy0120
    @Ziggy0120 3 года назад +1

    1:00 hahaha

  • @mariushostinar663
    @mariushostinar663 Год назад +3

    The beginning of the video was so cringe

  • @minhbui4817
    @minhbui4817 2 года назад

    Neetcode has nothing on u lol

  • @deepak1725
    @deepak1725 3 года назад

    Nobody asked my opinion 🤣

  • @caminante4222
    @caminante4222 3 года назад +27

    Good content but too much joking and nonsense

    • @xSlimLizardx
      @xSlimLizardx 3 года назад +12

      dont be boring

    • @mostinho7
      @mostinho7 2 года назад +24

      Wow…the guy makes a great video and u complain about him being funny

    • @ssuriset
      @ssuriset 6 месяцев назад

      Oh god here we go

    • @Tlj10144
      @Tlj10144 4 месяца назад

      You must be fun at parties

  • @bauyrjanjyenis3045
    @bauyrjanjyenis3045 3 года назад +2

    Terrible explanation!

  • @emanuelrollin2930
    @emanuelrollin2930 9 месяцев назад

    less comedy please 😭

    • @ComputerBread
      @ComputerBread  9 месяцев назад

      Ok, no fun allowed, I am sorry