Longest Common Subsequence (2 Strings) - Dynamic Programming & Competing Subproblems

Поделиться
HTML-код
  • Опубликовано: 13 фев 2019
  • Code & Problem Statement @ backtobackswe.com/platform/co...
    Free 5-Day Mini-Course: backtobackswe.com
    Try Our Full Platform: backtobackswe.com/pricing
    📹 Intuitive Video Explanations
    🏃 Run Code As You Learn
    💾 Save Progress
    ❓New Unseen Questions
    🔎 Get All Solutions
    Question: You are given 2 strings. Return the length of the longest subsequence that the 2 strings share.
    Complexities
    n = s1.length()
    m = s2.length()
    Time: O( nm )
    We can upper bound time by the number of subproblems that we are going to solve.
    Space: O( nm )
    We upper bound space by the number of subproblems we will story answers to. Whether we do (n + 1)(m + 1) or (n)(m) doesn't matter asymptotically.
    ++++++++++++++++++++++++++++++++++++++++++++++++++
    HackerRank: / @hackerrankofficial
    Tuschar Roy: / tusharroy2525
    GeeksForGeeks: / @geeksforgeeksvideos
    Jarvis Johnson: / vsympathyv
    Success In Tech: / @successintech
  • НаукаНаука

Комментарии • 1 тыс.

  • @BackToBackSWE
    @BackToBackSWE  5 лет назад +83

    Table of Contents:
    The Problem Introduction 0:00 - 0:25
    What Is A Subsequence 0:25 - 1:00
    Going Through Examples 1:00 - 2:37
    Walking Through A Recursion Tree 2:37 - 12:00
    Recursion Tree Finished: Our Answer 12:00 - 13:18
    Dynamic Programming Table Walkthrough 13:18 - 13:43
    What Are The Subproblems? 13:43 - 14:56
    Defining Our Base Cases 14:56 - 16:24
    Working On The Inner Table 16:24 - 22:49
    DP Table Finished: Our Answer 22:49 - 23:27
    This Is Not Intuitive At All 23:27 - 24:11
    Time & Space Complexity 24:11 - 24:49
    Subscribe Por Favor 24:49 - 25:11
    The code for this problem is in the description. Fully commented for teaching purposes.

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

      Like this time.

    • @BackToBackSWE
      @BackToBackSWE  4 года назад

      nice

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

      Thank you for great explanation.
      Seems like the link to the code is missing in the description.

    • @AshishSingh-dn8wb
      @AshishSingh-dn8wb 4 года назад +8

      I cant find the code :/

    • @ankitsanghi
      @ankitsanghi 4 года назад

      Where in the description is the code? I can't find it

  • @shubhamasati4488
    @shubhamasati4488 5 лет назад +526

    somebody give this guy an oscar ...plz

    • @BackToBackSWE
      @BackToBackSWE  5 лет назад +6

      haha

    • @arunsudharsan7437
      @arunsudharsan7437 4 года назад +9

      please give him....

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

      @@arunsudharsan7437 ye

    • @PiyushKumar-ey7qw
      @PiyushKumar-ey7qw 4 года назад +10

      He surely deserves it. Till this date I was confused with the table thing, I mugged it up, but today I got it how each and every step is working.

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

      Wrong award. The Turing award perhaps.

  • @heyitsnikhil7956
    @heyitsnikhil7956 4 года назад +200

    "okay. this is not intuitive at all. I'm going to be outright and honest."
    -thanks for saying this. sounds relieving. 😂

    • @BackToBackSWE
      @BackToBackSWE  4 года назад +9

      it isn't lol

    • @heyitsnikhil7956
      @heyitsnikhil7956 4 года назад +9

      @@BackToBackSWE well, you made it really easy to understand.
      You are a great teacher! 🙌

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

      @@heyitsnikhil7956 thanks

  • @adriantran6568
    @adriantran6568 4 года назад +142

    The dp table explanation is the most beautiful thing I've ever seen

  • @ssparks1979
    @ssparks1979 4 года назад +89

    It was almost like you were speaking directly to me when you said "Stay with me! Stay with me! I know it is confusing." Thank you so much for this thorough explaination!

  • @sandarabian
    @sandarabian 4 года назад +38

    I was so stumped when the problem was introduced, then at 4:22 it was like a bucket of genius water was dumped on my head. Genius!!

  • @memoriesadrift
    @memoriesadrift 3 года назад +10

    This is honestly the best video I have seen on dynamic programming on RUclips. Mad respect to you for you for your down-to-earth, simple to understand explanations.

  • @TeeheeTummytums503
    @TeeheeTummytums503 5 лет назад +120

    This is absolutely unbelievable that I just now found your channel. Thank you so much for all your hard work. Keep up the great work!!!

    • @BackToBackSWE
      @BackToBackSWE  5 лет назад +25

      Yeah, RUclips probably won't pick up on this channel for another year or so but I'm ok with that. I'll keep going.
      And yeah, this video took 6 hours to produce. You guys keep me going.
      The problem isn't that I can't do these problems, it is that to EXPLAIN them WELL takes a lot of prep time. I have to code the solution, write teachers notes, shoot the video, edit the video, and publish.
      But yeah, thanks

    • @TeeheeTummytums503
      @TeeheeTummytums503 5 лет назад +4

      @@BackToBackSWE have you considered mentioning your channel in the cscareerquestions subreddit? I know it would be incredibly beneficial to a lot of people there

    • @BackToBackSWE
      @BackToBackSWE  5 лет назад +3

      @@TeeheeTummytums503 Tried. Talked to the mods. I tried everything. They won't budge so I gave up. It makes me really angry but at the same time, it is fine. I understand their position.
      I heard someone posted the channel once and it got like 50-60 upvotes and then the post got taken down.
      I think they just don't like promotions but...I just have to grow this so big that no one can ignore it.
      So that's what I'm trying to do.
      PS: I honestly don't think the channel is ready though. I have HUNDREDS of questions and tens of topics left to cover in high quality and that will take a long time.

    • @TeeheeTummytums503
      @TeeheeTummytums503 5 лет назад +3

      @@BackToBackSWE big L for them. Thanks again for all you do.

    • @shanugarg8428
      @shanugarg8428 4 года назад

      Hey guys here's another RUclips channel for Algorithm : ruclips.net/video/zmv4k6xNFGk/видео.html

  • @ravishekranjan7282
    @ravishekranjan7282 4 года назад +30

    This is the best explanation of LCS along DP available on internet.

  • @34521ful
    @34521ful 5 лет назад +34

    This video was so good I almost cried... (tears of joy). Amazing work!

  • @The8merp
    @The8merp 4 года назад +12

    Thank you so much. I have finally been able to understand Dynamic Programming Tabulation method. Most people when trying to explain it focus only on the table and don't explain how the code relates to the table properly. Now I understand it. You really have a gift for teaching, keep doing what you are doing. I will make sure to support this channel when I finally get a job

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

    I was almost about to give up on "Dynamic Programming" until I saw this video. Best video on the internet for DP !
    Hats off man !! Commendable job

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

      Amaze! keep hustling buddy. Try our 5 day free mini course - backtobackswe.com/

  • @doruwyl
    @doruwyl 4 года назад +6

    What sets you apart from other coding solving videos is the depth you go into and the effort you put in order that your audience would really understand how to solve the problem.
    Well done!

  • @ShortGiant1
    @ShortGiant1 4 года назад +7

    Thank you! You're like stackoverflow for leetcode. The place I look for help when I'm either stumped with a problem, or I've solved it but want the concept firmly set into my head.

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

    I’m watching and practicing all your Dynamic programming, backtracking and recursion playlist and I can feel that I’m getting there (understanding, not memorizing). Thank you so much brother 👏👏👏🙏🏻🙏🏻🙏🏻

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

    Thank you for taking the time to make this video. I feel like I never fully understood dynamic programing. The way you break it down clicked instantly with me.

  • @tanvia29
    @tanvia29 5 лет назад +22

    I FINALLY understand. Thank you so much.

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

    Man, Can DP be explained any better than this? Hats off!!!! Thanks for all this stuff. Really made DP a cake walk for all us viewers...

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

    First creator with an american accent to explain to this level, this is best guy on youtube for DP explanations

  • @bhaskarroy5435
    @bhaskarroy5435 5 лет назад +2

    I have gone through numerous videos but none of them could explain this problem in a level of depth like you did. Thanks a ton!

  • @tpkkxbm
    @tpkkxbm 3 года назад +3

    I never comment on RUclips videos, but I have to for this incredible channel. The way you are helping me develop intuition for these algo problems is unbelievable. Thank you!

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

    You sir deserve a medal ! You are making all stuff i was putting a lot of effort into learning very easy to understand. Thank you

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

    Ok. How easily you explained this is beyond words. Many can code stuff but very VERY rare can explain the way you did.
    This problem haunted me for around 6 months and after this video I solved it without a sweat
    I can officially say you have GODLY skills. Thank you so much!
    I am going to spread this video (or your channel in general) to as many of my friends as possible. Please keep up the good work.

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

    Hi @Back To Back SWE I went through all the videos and was not even a single was as explanatory as you were.
    Thankyou man you made my day.

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

    This video is amazing -- can't believe how stumped I was at first until seeing you go through the table. Thanks so much for sharing.

  • @InfinityFnatic
    @InfinityFnatic 5 лет назад +3

    The sheer energy and dedication of this guy is amazing, also outstanding explanation ability. If I had only had him as a teacher in high school man, I would have aced every single competition.

    • @BackToBackSWE
      @BackToBackSWE  5 лет назад +1

      thanks....oh...and..................hey.

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

    I like how when you explain, you keep us engaged. Keep up the enthusiasm!

  • @phanichoragudi57
    @phanichoragudi57 5 лет назад +28

    Excellent explanation!

    • @BackToBackSWE
      @BackToBackSWE  5 лет назад +4

      thanks, someone asked for this one so I did it (was going to happen this month anyway)

  • @akashsingha2616
    @akashsingha2616 5 лет назад +4

    Thank you for all your hard work to make us understand DP better.

  • @JeannieTrinh
    @JeannieTrinh 5 лет назад +1

    Omg this is the best video that's broken down this type of problem I've ever seen! You've explained this so perfectly and having the first portion connect with the DP table in the second part felt like magic to me XD. This video (plus many of your others) will be watched for yearssss.

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

    Your teaching style is best. Why am I saying this?
    When you were going through the explanation the moment I was falling in confusion you were just there to tell "wait, this might be confusing but I will explain". This gave me the confidence and continued. DP was a nightmare to me. I just got what I wanted. No words to thank you enough. I am from Bangladesh, and I want to say my gratitude, man! Amazingly great explanation.

  • @saransh9306
    @saransh9306 5 лет назад +4

    Thank you sooooo much for all your hard work..This is an incredible content.

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

    OMG thank you!!! For the first time I feel like I've actually understood how DP works!

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

    You are single handedly saving my algorithms class grade. You explain things in a way that I understand a lot better.

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

    Hell yeah!! Dude you rocked it. Thank you so much!! I love how you broke it down to the basic bottom up analysis!! Can't thank you enough!!

  • @dineshsood9110
    @dineshsood9110 5 лет назад +3

    Finally, I could understand it. Thanks a lot for this awesome explanation. No one can explain it better.

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

    U have definitely given a good explanation of this. I want this types more. Thanks a lot👍

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

    holy moly this is what im looking for. many guys on youtube just showing me the trick to fill the table, they never explain how memoization-table working! Only you explain the key of the memoization approach!!!!!!!!!!!

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

    Once again, a superb explanation. Showing the relation of the dp table to the recursion solution was an eye-opener. Now I fully understand what's going on, which really seems to be the vital part of understanding these dp problems. Thanks very much.

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

    You could use frequence vectors and do it in o(strlen(a) + strlen(b) + 26) time complexity and o(strlen(a) + o(strlen(b)) space complexity . It is easier more efficient and does not require DP.

  • @lawlietnao_music
    @lawlietnao_music 4 года назад +11

    Dude this is the most amazing well-done explanation of DP that I've ever seen. I love u bro (big hug

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

    This is the only place where I found why the dp table contains n + 1 (+1 for empty strings) and how it corresponds to the intuitive recursion. Amazing stuff! Thanks a ton!

  • @martinf490
    @martinf490 5 лет назад +2

    This is the most intuitive explanation I've come across for this problem please don't stop.

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

    i was gonna write that youre genius and the channel is underrated but then i saw that you have like a million subscribers(laughter emoji ) :)

    • @BackToBackSWE
      @BackToBackSWE  4 года назад +1

      thanks and we didnt have many subs for a while - this is the first comment I've read saying we have a lot of subs. This is like a pivotal point in external perception for the common watcher. Fascinating how things grow isn't it

  • @kanikaaapan9996
    @kanikaaapan9996 3 года назад +5

    WOWW!! You explained soo well. I wish you would my college professor .How can there be 19 dislikes????

  • @MoonStruckHorrorsX
    @MoonStruckHorrorsX 5 лет назад +2

    Amazing man. Simply amazing, your method of explaining is so simple and precise. Love the fact that you don't just jump into the code and tell "Oh it'll work like this".

  • @yangyu4489
    @yangyu4489 4 года назад +1

    DUDE so thorough, entertaining, energetic. YUS. Need more of these videos man thank you so much for the work you do. I get DP now thanks to you!

  • @sxganapa1974
    @sxganapa1974 5 лет назад +3

    Really good job

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

    Hey Ben! Thanks for this! Could we extend this to actually find the Longest common Subsequence instead of just the length? Or would that be more of a backtracking thing?

    • @BackToBackSWE
      @BackToBackSWE  4 года назад

      Yes, we can read the dp table using the same logic we used to construct it to trace back the original solution.

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

    The best ever video on this problem! While other people scream out that their playlist is the best, this man literally nails everything down!

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

      Glad it was helpful! 😄 Also check out our FREE DSA Interview Prep Mini-Course - backtobackswe.com/ 🎉

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

    Love your channel, how you are focused on setting one up to understand the problems and how to approach them.

  • @dylanlarrabee2322
    @dylanlarrabee2322 5 лет назад +14

    DO YOU S E E ? great video!

    • @BackToBackSWE
      @BackToBackSWE  5 лет назад +2

      hahahahahahaha, yes I have odd mannerisms. I cannot overcome them.

  • @AshishShukla-ro8oy
    @AshishShukla-ro8oy 4 года назад +3

    "JUST EXCELLENT!!!!!!"

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

    The way you break this down is the most comprehensive and easy to understand of any videos I've watched 🙌🙏. Thank you for your content sir

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

    This guy is so good at explaining things! Keep it up, man!

  • @arnobchowdhury3191
    @arnobchowdhury3191 4 года назад +8

    Hey, what's your plan for this Valentine's day?
    Benyam: To upload one of the most non-intuitve Dynamic Programming algorithm...

  • @ErikaAlejandraGonzalez
    @ErikaAlejandraGonzalez 3 года назад +3

    why can't my algorithms analysis class be like this? would you mind teaching at my university? ahaha

  • @samyakjain6855
    @samyakjain6855 4 года назад +1

    You are absolutely nailing explaining hard concepts that are not at all intuitive in such a simple and easy to understand manner! Keep up the good work!

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

    Dude you are AMAZING! Been trying to understand DP for a few days and I undertood it for once! Now I'm gonna keep watching your videos to see how to approach the other kind of problems. Keep up the good work!

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

      Thanks! try out our 5 day free mini course backtobackswe.com/

  • @gunhopark9435
    @gunhopark9435 4 года назад +22

    "So what happens is, this is what happens, do you see what happend?

  • @user-lu4uo1wj5o
    @user-lu4uo1wj5o 4 года назад +6

    WHY CANT MY PROFESSOR EXPLAIN LIKE THIS? Thanks!

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

    This video is fantastic. The teacher assumes we know nothing and walks us through every step in plain language. Bravo!

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

    Your videos really help a lot... I was struggling a lot with DP. Big thanks for making things easy to understand.

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

    Do you have to come up with something like that in an interview by yourself?

  • @Rock28099
    @Rock28099 5 лет назад +4

    0 dislike😎

  • @prathamj2215
    @prathamj2215 4 года назад +1

    YOU'VE EXPLAINED IT IN THE MOST BEAUTIFUL WAY POSSIBLE! I LITERALLY WATCHED 7 VIDEOS BEFORE THIS ONE AND YOUR'S TRULY EXPLAINED THE PROBLEM IN THE MOST UNDERSTANDABLE WAY!! THANK YOU! KEEP UP THE GOOD STUFF!!

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

    The explanation is very clear and easily understandable. After listening to this video, I tried to code myself without seeing your code and finally I am succeeded in writing the code for this problem. Even my code looks different to your's but it worked. I really felt happy for that.

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

    I think you made it harder than it already is. Why can't you just say your matching every char in one string to other in the matrix.and when at every point you will know how many have already matched and increase the count from their on.

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

    It's amazing how lucidly he explains the problem. Keep going, sir, you rock!

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

    Thank you so much, I have gotten an intuition of how to do dp problems through your videos. The explanations are simple and easy to follow.

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

    Excellent! Excellent! Dynamic programming is my weakness, but little by little I'm getting my head around it. This video was super helpful in my quest.

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

    This guy is the best there is. Thank you so much for your content.

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

    wow! Really great content! Love the dedication to explain it as clear as possible!

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

    I always had troubles understanding how to approach the question in general. This is great. Helps understand why we are doing whatever we are doing . Best video

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

    Anytime I'm stuck with some problem, I search it on youtube hoping that you or csdojo have already made a video about it. I know you might not read this but - thanks a lot you are making a difference.

  • @IlyaBoytsov-dt8lt
    @IlyaBoytsov-dt8lt 4 года назад +2

    Thank you very much for your videos! Your ability to explain hard problems is fantastic! Please keep going!

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

    You're the GOAT at explaining these algorithms and problems. Thank you very much

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

    THE BEST EXPLANATION EVER!!! Thank you!!!

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

    You are an absolute legend. My teacher just did it without explaining anything. You nailed it. Thanks so much

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

    On a cell by cell basis:
    If the characters are not the same, find the maximum value between the cell on the left and the cell above, and put that in the current cell.
    If the characters are the same, do 1 + (cell[i - 1] [j - 1]), which is 1 + the value that is in the cell to the top left of the current cell. This is because we are essentially removing both characters like in the recursive tree (left to remove character from String Y, up to remove character from String X).
    The final answer will always be the bottom right.
    Thanks so much for the video!

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

    Thank you man, one more well-known problem that became clear only after your explanation. Appreciate time and efforts!

  • @yanksrock1000
    @yanksrock1000 5 лет назад +2

    Wow, this is probably one of the best algorithm videos I've seen on RUclips. Thanks!

  • @mystica3312
    @mystica3312 4 года назад +1

    you rock!!! just found your channel and smashed subscribe button and gonna attend interview soon. thanks man!!!

  • @yicai7
    @yicai7 4 года назад +1

    The best video of LCS that I have ever seen so far
    You have a great talent, honestly

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

    Fricking amazing lecture dude! I have been reading all other articles, Wikipedia and other youtube videos! That dynamic table was always too crazy to look at! Your explanation is the best to make this problem looks like a easy 2D table problem! Awesome!

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

    I can never forget what i learnt from this video .. This is the power of your explanation and breaking down a complex problem into something so easy to understand.. Thanks a lot

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

      Thank you, glad you liked it 😀
      Do check out backtobackswe.com/platform/content
      and please recommend us to your family and friends 😀

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

    Thanks man I never understood how it worked and had just learned the recurrence relation. Now I actually got to know dp implementation of it. seriously best explanation video i have come around for this problem ever.

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

    Finally understood this. Thank you so much!!

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

    I finally understand the thought process behind dynamic programming thanks to your diagrams and explanations. THANK YOU.

  • @RiteshSingh-lo9cn
    @RiteshSingh-lo9cn 4 года назад +1

    you left me speechless man.. I've learnt this algorithm before too,but it was kind of learning the formula and making the table,even not knowing why was i making those table. Thank u brother

  • @tirthdoshi7463
    @tirthdoshi7463 4 года назад +1

    This is the best explanation I have received so far on this problem ! Thanks a lot !

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

    The best explanation so far! Thanks man!

  • @realnigga7331
    @realnigga7331 2 месяца назад

    You're the only one who properly explained why we take the max value. Great intuition

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

    This one is the best explanation i have found for this problem. Thank you dude, you are just awesome in the video, no video i found which explains the reason why to take diagonal element value to add with '1' when there is a character match.

  • @joels978
    @joels978 4 года назад +1

    awesome awesome awesome. Really took the time to explain the nuances. much appreciated!

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

    Absolutely amazing explanation, this helped me understand the solution in a way that no other resource did. Thank you so much!

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

      Thank you, glad you liked it 😀
      Do check out backtobackswe.com/platform/content
      and please recommend us to your family and friends 😀

  • @parthokr
    @parthokr 4 года назад +1

    This video deserves more views! Hats off! You nailed it!

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

    This was an insanely good explanation. Much better and more in depth than my graduate algorithms course. Thank you!

  • @jongmin98
    @jongmin98 4 года назад +1

    Awesome explanation. nicely built up from base recursion idea. it was so easy to understand. Thank you so much!!

  • @talesaraujo979
    @talesaraujo979 5 лет назад +2

    Man you made me cry. You made me understand the intuition of what DP is all about. I'd likely buy you a pizza right now. Thank you!
    Cheers from Brazil!

    • @BackToBackSWE
      @BackToBackSWE  5 лет назад

      Hahahaha, wassup from San Francisco, how's Brazil