Knuth-Morris-Pratt (KMP) Pattern Matching Substring Search - First Occurrence Of Substring

แชร์
ฝัง
  • เผยแพร่เมื่อ 1 ม.ค. 2025

ความคิดเห็น • 557

  • @BackToBackSWE
    @BackToBackSWE  6 ปีที่แล้ว +66

    Table of Contents: (I'm literally screaming. I'm sorry. I want to redo this video to make it better.)
    Introducing The Creators The KMP Algorithm* 0:00 - 0:15
    Problem Introduction With The Naive Approach 0:15 - 2:30
    Why The Naive Approach Is Not Good 2:30 - 2:45
    Walkthrough How The Algorithm Works 2:45 - 8:14
    Building The Suffix-Proper-Prefix Table 8:14 - 12:34
    Using The Suffix-Proper-Prefix Table In Traversal Walkthrough 12:34 - 15:08
    Time & Space For The Table Build Step 15:08 - 15:51
    Time & Space For The Traversal Step 15:51 - 16:08
    Overall Time & Space 16:08 - 16:25
    Summarizing Our Learnings 16:25 - 16:40
    Wrap Up (Begging For More Subs) 16:40 - 17:05
    *All 3 of the creators published the final paper together.

    • @iamjimfan
      @iamjimfan 4 ปีที่แล้ว +2

      That's good enough, I was looking for info on distributed substring searching of very large string. It gives me nice refresh on the basics.

    • @BackToBackSWE
      @BackToBackSWE  4 ปีที่แล้ว +2

      great

    • @piyushyadav9006
      @piyushyadav9006 3 ปีที่แล้ว +1

      11:50 was the tricky part as we use KMP logic again in building the table itself.

    • @utkarshbhatnagar768
      @utkarshbhatnagar768 3 ปีที่แล้ว +1

      it is the best explanation I found on youtube of KMP algo, no need to redo it

    • @jaivignesh2302
      @jaivignesh2302 3 ปีที่แล้ว

      Hey ., this is great ,,, greater than geeks for geeks really !!!

  • @ahmedsyed76
    @ahmedsyed76 4 ปีที่แล้ว +275

    An algorithm invented by 3 people and they expect us to come up with this in 45 min. Makes sense

    • @salmanbehen4384
      @salmanbehen4384 3 ปีที่แล้ว +39

      Fun fact: Dijkstra came up with his algorithm within 20 minutes while having a walk.

    • @_rmw
      @_rmw 3 ปีที่แล้ว +77

      Leetcode "easy"

    • @StudyWithRishiP
      @StudyWithRishiP 3 ปีที่แล้ว +54

      @@salmanbehen4384 Fun Fact : Dijkastra was thinking about this for a long time.

    • @大盗江南
      @大盗江南 3 ปีที่แล้ว +7

      those algo interview questions are the most meaningless things ever.. system design is kind of interesting...but algo..jesus

    • @coolmangame4141
      @coolmangame4141 3 ปีที่แล้ว +1

      well its popular so its good to know it

  • @dimejifaluyi1759
    @dimejifaluyi1759 5 ปีที่แล้ว +178

    BRO STOP YELLING AT ME I ALREADY SUBBED I KNOW YOU'RE GOOD

  • @nhk_kakin_futuremvrcreator
    @nhk_kakin_futuremvrcreator 3 ปีที่แล้ว +28

    You're the best explainer of algorithms I've ever seen. The extra very visible colored text on the screen while you're explaining also makes a huge difference.

  • @shinra9714
    @shinra9714 5 ปีที่แล้ว +78

    I never knew I needed this kind of teaching which makes me feel like im scolded in order to understand why a box is incremented.

    • @BackToBackSWE
      @BackToBackSWE  5 ปีที่แล้ว +6

      lmao, sorry, old video, forgive me

    • @kiranteja6392
      @kiranteja6392 4 ปีที่แล้ว +7

      @@BackToBackSWE Thats actually helped me to understand easily.Best way to teach is to stress key point to understand that concept

  • @tanmaymalhotra4450
    @tanmaymalhotra4450 3 ปีที่แล้ว

    people commenting "stop yelling" and all I see is the passion with which you are trying to teach us in the simplest way possible. I came here after watching 2-3 vids but your video cleared all my doubts. Thank you for making this video.

  • @akaraze749
    @akaraze749 4 ปีที่แล้ว +1

    I trust This dude's Teaching skills with my career, He's so CLEAR, To the Point and explains in Simple Language that no TH-cam Channel Does that. Absolutely Loved it.

  • @BroodWar4Ever
    @BroodWar4Ever 5 ปีที่แล้ว +11

    I had a hard time understanding KMP but you broke it down so well and I get it now. This goes for all the videos I've watch from you, thank you!

  • @khushdevpandit5865
    @khushdevpandit5865 2 ปีที่แล้ว +1

    Thanks, man!
    This is the Best ever explanation on TH-cam. I was stuck on this algorithm for hours

  • @lamihh
    @lamihh 5 ปีที่แล้ว +23

    Thanks to you I'm one less algoritm away towards achieving my dream. So thanks for the good work and keep it up ;))

    • @BackToBackSWE
      @BackToBackSWE  5 ปีที่แล้ว +4

      Yuh. Go achieve them dreams.

  • @sanskrititomar183
    @sanskrititomar183 4 ปีที่แล้ว +7

    Your explanations are amazing! This is the first time I fully understand the kmp algorithm. Thanks a lot! Keep up the good work ;)

  • @hussainalramadan7517
    @hussainalramadan7517 3 ปีที่แล้ว +1

    Thank you from my heart.
    I was about to give up on this algorithm, until I found this video, I appreciate this work so much.

  • @rahulsaxena5015
    @rahulsaxena5015 5 ปีที่แล้ว +8

    Now that's a cool explanation of a seemingly difficult concept. The thing is you cannot watch this video without some sort of preparation. You have to understand the limitations of the naive approach and then think of a logical method/alternative to overcome that. Only after that, when you watch the video and implement the algo, would it become clear to you...
    Good job with the video, guys!!

  • @fredwooten14
    @fredwooten14 5 ปีที่แล้ว +165

    Calm down a bit you good.

    • @BackToBackSWE
      @BackToBackSWE  5 ปีที่แล้ว +2

      hahahahahahahaha, thanks

    • @peeyar2000
      @peeyar2000 5 ปีที่แล้ว +8

      @@BackToBackSWE ...Yes.. please slow down.. That will help the audience to process what you are saying.

    • @BackToBackSWE
      @BackToBackSWE  5 ปีที่แล้ว +3

      @@peeyar2000 ok

    • @jonathanfoster5106
      @jonathanfoster5106 5 ปีที่แล้ว +31

      @@BackToBackSWE 100% disagree with this comment. your cadence and charisma is half the reason this is all working so well. currently watching through EVERY video on this channel. It's literally the best resource I've ever found on this stuff.

    • @BackToBackSWE
      @BackToBackSWE  5 ปีที่แล้ว

      @@jonathanfoster5106 hahahahaha ay, wassup, local to this topic they are right and their comments are attesting to the explanation's weakness and incomplete nature. Globally what you observe are correct.

  • @nono-ip2fv
    @nono-ip2fv 5 ปีที่แล้ว +38

    I really like your passion and felt very involved during the video
    So far it’s the most approachable KMP video I’ve seen.
    I vote for keeping the speed and voice as is, they allow the video to stand out in a good way

  • @EdwardLawPhD
    @EdwardLawPhD 4 ปีที่แล้ว +1

    Your explanation is the best among many TH-camrs.

  • @pulkitjain9599
    @pulkitjain9599 5 ปีที่แล้ว +2

    After reading a bit on Internet and then coming to your video. I got it straight into my head. Really well explained but people really need to have some background before watching such algorithms to just grasp it at one go.
    Thanks man

    • @BackToBackSWE
      @BackToBackSWE  5 ปีที่แล้ว

      Oh yeah, this video is old and made in an "ok" fashion

  • @bryanparis7779
    @bryanparis7779 2 ปีที่แล้ว +1

    after lots of videos about Knuth-Morris-Pratt algorithm i just understood how it works...when we have dismatch we just go one step behind and we look at the value of that step and thats it!this is where the i goes(index)..pfff at last!THANKSSSSSSS.LOVE YOU BOY

    • @BackToBackSWE
      @BackToBackSWE  2 ปีที่แล้ว

      hahaha! try this 5 day free mini course for some good content backtobackswe.com/

    • @bryanparis7779
      @bryanparis7779 2 ปีที่แล้ว +1

      @@BackToBackSWE im on my way to this...many thanks from a Greek postgraduate in Maths and Statistics.

  • @ajnabee01
    @ajnabee01 3 หลายเดือนก่อน +1

    On point and best explanation!

  • @LennethValky19
    @LennethValky19 5 ปีที่แล้ว +1

    I love the way you reply literally every single comment in this channel, this shows how much you like what you're doing. And indeed we can see it in your eyes while explaining! Thanks so much for bringing content with such quality and love! I don't usually write comments on TH-cam but this channel made me stop for some few minutes to write this.

    • @BackToBackSWE
      @BackToBackSWE  5 ปีที่แล้ว +3

      I don't like what I'm doing, 70% of the time I hate it. I am just dedicated to whatever I start, it must end successfully at any cost.

    • @LennethValky19
      @LennethValky19 5 ปีที่แล้ว +1

      @@BackToBackSWE Hahaha really you don't like it? I was 100% sure you loved it because you put so much energy into explaining the algorithms to us.
      I guess I was wrong then...

  • @jalanshmunshi7061
    @jalanshmunshi7061 4 ปีที่แล้ว +1

    Awesome explanation! Don't worry, the way you're explaining is not screaming. It is rather the enthusiasm with which you explain a problem and I have seen that enthusiasm in almost every video of yours.
    Looking forward to more of your explanations. Kudos to you!

  • @sarthakbhatia7888
    @sarthakbhatia7888 4 ปีที่แล้ว +2

    Honestly..This is the best explanation out there on youtube....Thanks:)

  • @vinnerzucc1154
    @vinnerzucc1154 4 ปีที่แล้ว +3

    Wow, I applaud your dedication to try and reply to all the comments mate! Good stuff and honestly I should've discovered this channel before!

  • @anshu7715
    @anshu7715 3 ปีที่แล้ว

    if there is any topic i am searching on utube nd u have a video on it. i just simply watch it first, and then continue my research(that most of the time is not even needed, as u clear all the related concepts). thanks

  • @anandchowdhury9262
    @anandchowdhury9262 4 ปีที่แล้ว +13

    The only one to explain the "THE TRICKY PART WHICH SO MANY OTHERS SO CONVENIENTLY SKIP"

  • @nickkiermaier667
    @nickkiermaier667 4 ปีที่แล้ว +2

    Good lord glad I found you! This is the best explanation I've found! Thank you! Will be following. Don't slow down your enthusiasm makes it fun.

  • @ashwinikumar3721
    @ashwinikumar3721 4 ปีที่แล้ว +1

    Finally .... best video to undersand kmp algo clearly

    • @BackToBackSWE
      @BackToBackSWE  4 ปีที่แล้ว

      thanks - the video is decent

  • @priyanshusingh2454
    @priyanshusingh2454 4 ปีที่แล้ว +1

    The best explanation all over the internet. Hats off to you sir!

  • @kvnr49
    @kvnr49 4 ปีที่แล้ว +1

    Like your style of explaining. One of the videos that kept my attention through the end and not bore me to lose focus. Thanks!!

  • @Prashantkumar-pn6qq
    @Prashantkumar-pn6qq 4 ปีที่แล้ว +1

    Amazing Amazing explanation buddy! Could not find many on TH-cam explaining as clearly. Thanks.

  • @shilinwang2958
    @shilinwang2958 3 ปีที่แล้ว +1

    Find the longest suffix which is also the prefix to save us from reverting the searching. Thanks!

    • @BackToBackSWE
      @BackToBackSWE  2 ปีที่แล้ว

      yep! try out our 5 day free mini course on our website - backtobackswe.com/

  • @shivamkumarsingh667
    @shivamkumarsingh667 2 ปีที่แล้ว

    Great Video,KMP is now crystal clear to me .Thanks !!!
    Love from India♥

  • @onkarsingh9661
    @onkarsingh9661 3 ปีที่แล้ว +1

    Thanks bro best explanation available on internet

  • @basu.arijit
    @basu.arijit 4 ปีที่แล้ว +3

    This is the first time I understood KMP algorithm. Thanks a lot!

  • @aanchalsharma5264
    @aanchalsharma5264 4 ปีที่แล้ว +1

    your content is just superb ..u are just amazing

  • @pranjalshrivstava6519
    @pranjalshrivstava6519 3 ปีที่แล้ว

    This is the "BEST" explanation of KMP that ever existed!

  • @deepakbhoria4172
    @deepakbhoria4172 4 ปีที่แล้ว +3

    Didn't understand this during college... but you sir made me understand this within minutes... Great explanation :)

  • @vipulkrishna19
    @vipulkrishna19 5 ปีที่แล้ว +3

    best Explanation so far on Internet

  • @ShivamShukla-uz9xs
    @ShivamShukla-uz9xs 4 ปีที่แล้ว +2

    Really a superb explanation underlined and outlined all components of the algorithm in a very strategic way. The best thing about your videos is the energy you impart over the explanations about the tricky part or sth unintuitive. Thanks.

  • @VipinKumar-us1sr
    @VipinKumar-us1sr 2 ปีที่แล้ว

    You are becoming my first choice for learning any new algorithm. Keep uploading👍 Hats off👏

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

  • @TheJackpotgamer
    @TheJackpotgamer 5 ปีที่แล้ว +1

    I got confused on the topic quite a bit, but this video explains it real clearly, thanks man, this is greatly appreciated

  • @ruhinapatel6530
    @ruhinapatel6530 4 ปีที่แล้ว

    keep the same pace and enthu..ur making life simple..keep up the way ur doing it...

  • @sandyhan4829
    @sandyhan4829 4 ปีที่แล้ว +1

    Watched several KMP videos and it is the first one that made me understand

  • @LN_1214
    @LN_1214 ปีที่แล้ว

    Greatly explained, i saw a couple other videos but yours made me really understand it

  • @arnabmukherjee5840
    @arnabmukherjee5840 4 ปีที่แล้ว +1

    Bro one of the best explanations. I will check all your content. Keep it up

  • @dataman17
    @dataman17 4 ปีที่แล้ว

    Best explanation for this question is here!
    Kudos!

  • @chih-yulin4309
    @chih-yulin4309 5 ปีที่แล้ว +1

    It is very helpful than the other long KMP articles.

  • @theodoraroseti6429
    @theodoraroseti6429 7 หลายเดือนก่อน

    Finally, I understand this one! Thank you, you're a hero.

  • @arvindg927
    @arvindg927 4 ปีที่แล้ว +1

    i feel yours channel vedios have one solid content for every topic i search
    every doubt is getting cleared one single veido ..wow thank u soo much bro

  • @mdotub71
    @mdotub71 4 ปีที่แล้ว +2

    Hey dude, thanks for the great vids. I do not know how and why, but somehow your logical explanation of the stuff just rocks compared to many many others. Pls keep doing the good stuff, bro.

    • @BackToBackSWE
      @BackToBackSWE  4 ปีที่แล้ว

      cuz im average intellect and decided to do all this

  • @emmanuel5566
    @emmanuel5566 3 ปีที่แล้ว

    You've got the gift of explaining the concept

  • @satyadeeproat2012
    @satyadeeproat2012 4 ปีที่แล้ว

    Whenever I don't understand an algorithm, I come to this page. Dude shout at me like my high school track and field coach, but it definitely gets in my head

    • @BackToBackSWE
      @BackToBackSWE  4 ปีที่แล้ว +1

      great to hear - hahahaha, fuck interviews I hate this. No one was going to go and do this and teach in an academic manner that makes sense. We still haven't lived up to the mission/vision I set out with...it's why I get mad...99% of those who understand something won't go teach it, let alone give up their free time and do it for the internet and teach it well.
      rant

  • @sunilsarode4295
    @sunilsarode4295 5 ปีที่แล้ว +39

    watched at speed 0.75....:)

  • @ghabrielmielli5858
    @ghabrielmielli5858 3 ปีที่แล้ว +1

    thank you for this content, it helped me a ton!! I loved how hyped you were explaining this algorithm, great job!

  • @shariqueshahab
    @shariqueshahab 5 ปีที่แล้ว +1

    Very good explanation, you didn't miss any detail of the Algorithm thats what I liked.

  • @pablocom
    @pablocom 4 ปีที่แล้ว +1

    Man you are great, all your explanations are deep and clear, thanks for your videos 🙌🙌

  • @KaranDoshicool
    @KaranDoshicool 4 ปีที่แล้ว +2

    Best video on KMP

  • @Official-tk3nc
    @Official-tk3nc 4 ปีที่แล้ว +1

    This is the underrated youtube channel on programming

  • @olicmoon
    @olicmoon 5 ปีที่แล้ว +2

    dude you deserve more likes

  • @emeryy9345
    @emeryy9345 3 ปีที่แล้ว

    Having an example and working through it step by step is very helpful

  • @uHnodnarB
    @uHnodnarB 4 ปีที่แล้ว

    I'm doing leetcode looking for jobs right now, and this was really helpful! I actually understood how the algorithm works for once, instead of the video just showing the algorithm working. Thanks!

  • @supratiksadhu
    @supratiksadhu 5 ปีที่แล้ว +1

    Dude, thanks. That's the most elaborative explanation I came across. Good work!

  • @amanuel2135
    @amanuel2135 ปีที่แล้ว

    Goated at explaining advanced algos!

  • @jintaoguo821
    @jintaoguo821 4 ปีที่แล้ว +1

    Thank your for making KMP really clear

  • @teemu828
    @teemu828 5 ปีที่แล้ว +21

    No it was the perfect pace! Good way to keep people engaged in the explanation :)

  • @SSSS2280-y5j
    @SSSS2280-y5j 3 หลายเดือนก่อน

    Best Explaination Till date ❣❣

  • @PickleTickle
    @PickleTickle 4 ปีที่แล้ว +1

    I usually watch you at 2x speed but after seeing the comments, I slowed you down back to 1x to see whats up. You talk unbelievably slow in comparison to 2x LOL I have no idea what people are on about. That said, got stuck on this algo in my lectures but this made it crystal clear cheers

  • @TonyGognitti
    @TonyGognitti 2 ปีที่แล้ว +2

    Brilliant explanation - certainly one of the best for the KMP algorithm. I like how you focus on the intuition behind the algorithm, as opposed to the traditional textbook approach. Have you considered writing a book on algorithms?

  • @sultanahmed9694
    @sultanahmed9694 3 ปีที่แล้ว

    You are very confident and good explanation, thanks!

  • @varunrao2135
    @varunrao2135 4 ปีที่แล้ว +1

    This is amazing. SO clear. Explain every single part of it.

  • @dudu2891
    @dudu2891 2 ปีที่แล้ว

    I love his energy. Hard to loose focus.

    • @BackToBackSWE
      @BackToBackSWE  2 ปีที่แล้ว

      Happy Holidays! Really glad to help 🎉 Do you know about the 5 Day Free Mini Course? Check it out here - backtobackswe.com/

  • @jugmilic2096
    @jugmilic2096 7 หลายเดือนก่อน

    ❤Thank you so much❤GOD bless you and your family❤

  • @anubhavsinghal9218
    @anubhavsinghal9218 4 ปีที่แล้ว +3

    Thanks for the video, it really helped me a lot.

  • @lnmma7917
    @lnmma7917 5 ปีที่แล้ว +1

    best explanation so far. thanks a lot

  • @biswamohandwari6460
    @biswamohandwari6460 4 ปีที่แล้ว +1

    Man he is talented....

  • @VishalKumar-kr9me
    @VishalKumar-kr9me 5 ปีที่แล้ว +2

    Ohhh I didn't know that you were teaching so fast as compared to your latest videos. I think that was excitement😁😁. But you were fantastic same as you are now

  • @乐易盎
    @乐易盎 4 ปีที่แล้ว +1

    Wonderful explanation!

  • @sergten
    @sergten 4 ปีที่แล้ว +7

    It would be nice to elaborate at 11:55 why "i" becomes the value of P[i-1] and not rolls all the way to zero.

    • @arnabpoddar6236
      @arnabpoddar6236 3 ปีที่แล้ว +1

      It is a little tricky but I will try, we want to minimize the number of times we roll back to 0. So if there is a miss match,we check if we there is a suffix which is also a prefix in the string we have checked till now, if it is there then we make value of i point at the end of the suffix, which is stored in P[i-1] And if it is not there we directly make i=0. Hope that helps :)

  • @KhanjanShukla
    @KhanjanShukla 4 ปีที่แล้ว +2

    Thanks a lot. Really helped in understanding clearly !

  • @AlienT7
    @AlienT7 5 ปีที่แล้ว +1

    Good video!! Look a few other before this one. This is the first one make me understand.

  • @ketan_sahu
    @ketan_sahu 4 ปีที่แล้ว +4

    It would really be helpful if you also make videos on some mathematical topics like Number Theory, Combinatorics, Modular Arithmetics, and whichever are important for competitive programming. There are very limited videos on the internet available on these topics and most of them are not well explained. Thanking you in advance 💙

    • @BackToBackSWE
      @BackToBackSWE  4 ปีที่แล้ว +3

      I would but our focus is on interviews and helping people around that vs competitive programming. I would but we have to pursue our core mission.

  • @avirajbevli7268
    @avirajbevli7268 4 ปีที่แล้ว

    I like how you personally react to almost all comments. Keep up the good work bro :)

  • @madhukeshkumar9783
    @madhukeshkumar9783 5 ปีที่แล้ว +1

    you are really fantastic bro, I watched your videos on dynamic programming, they were just awesome and this is also like "Bawaal".

  • @d0rzA
    @d0rzA 20 วันที่ผ่านมา

    explained perfectly thank you my guy !

  • @NickWhite
    @NickWhite 5 ปีที่แล้ว +2

    best kmp explanation on youtube

    • @BackToBackSWE
      @BackToBackSWE  5 ปีที่แล้ว

      nah, Tuschar's is better...for now :)

    • @marlegagaming1274
      @marlegagaming1274 5 ปีที่แล้ว +2

      @@BackToBackSWE you're very modest 😉

    • @BackToBackSWE
      @BackToBackSWE  5 ปีที่แล้ว

      @@marlegagaming1274 no I'm srs

  • @parikshitr.rajpara5187
    @parikshitr.rajpara5187 4 ปีที่แล้ว +1

    best explanation! Loved it!

  • @farizma
    @farizma 3 ปีที่แล้ว

    Woww ❤️ explanation is so amazing, loving ur videos. 💕👍 Thanks for making these valuable videos. ☺️

  • @siddharthbhati5914
    @siddharthbhati5914 4 ปีที่แล้ว +1

    you are great ,you explain like goddddddd

  • @eunjeongchoi5074
    @eunjeongchoi5074 3 ปีที่แล้ว

    Finally got it!!! Thank you so much!!

  • @insidecode
    @insidecode 4 ปีที่แล้ว +2

    Very nice video! it's also interesting to know that we can consider the time complexity as O(n), because if we add an early exit condition for when p is longer than s (where we directly return -1), then we can affirm that m cannot be greater than n, so in the worst case, m would be equal to n, which gives 2n, and by removing the constant, we get a time complexity of O(n)

  • @WhisperII
    @WhisperII 2 ปีที่แล้ว

    Yay I think I understand it at last, thanks man!

  • @h-arshit
    @h-arshit 5 ปีที่แล้ว +1

    Finally got something worth watching... thanks buddy

    • @BackToBackSWE
      @BackToBackSWE  5 ปีที่แล้ว

      hahahahaha ok, thx, I want to redo this but yeah

  • @chandra9491
    @chandra9491 4 ปีที่แล้ว +1

    just did read other comments, saying slow-down, you don't need to slowdown or low your vice....You voice pitch and speed is perfect, which demands audience attention, so your speed and voice pitch is very important! it has energy and vibe bro! keep it up! one request don't cut/cut video just make it continuous, because its like fragments/clusters for brain! kind of distraction!!!

  • @JoshNorris52
    @JoshNorris52 8 หลายเดือนก่อน

    Thank you so much for this! Great video!

  • @bmbharathh
    @bmbharathh 3 ปีที่แล้ว

    just amazing explanation bro!

  • @ShabnamKhan-cj4zc
    @ShabnamKhan-cj4zc 4 ปีที่แล้ว +1

    Thank you so much such a crystal clear explanation with example..

  • @kodplanet
    @kodplanet 8 หลายเดือนก่อน

    What if we never face a suffix == prefix , what is the time complexity in this case? Is KMP still preferable to Rolling-Hash ?

  • @glatavento1513
    @glatavento1513 6 หลายเดือนก่อน

    best kmp video on ytb

  • @HieuNguyen-ty7vw
    @HieuNguyen-ty7vw 4 ปีที่แล้ว +1

    Your video is great! Thank you.

  • @Amir_86
    @Amir_86 5 ปีที่แล้ว +1

    Really like the way you explained! thanks man!