LeetCode 14. Longest Common Prefix Solution Explained - Java

Ғылым және технология

The Best Place To Learn Anything Coding Related - bit.ly/3MFZLIZ
Join my free exclusive community built to empower programmers! - www.skool.com/software-develo...
Preparing For Your Coding Interviews? Use These Resources
--------------------
(My Course) Data Structures & Algorithms for Coding Interviews - thedailybyte.dev/courses/nick
AlgoCademy - algocademy.com/?referral=nick...
Daily Coding Interview Questions - bit.ly/3xw1Sqz
10% Off Of The Best Web Hosting! - hostinger.com/nickwhite
Follow My Twitter - / nicholaswwhite
Follow My Instagram - / nickwwhite
Other Social Media
----------------------------------------------
Discord - / discord
Twitch - / nickwhitettv
TikTok - / nickwhitetiktok
LinkedIn - / nicholas-w-white
Show Support
------------------------------------------------------------------------------
Patreon - / nick_white
PayPal - paypal.me/nickwwhite?locale.x...
Become A Member - / @nickwhite
#coding #programming #softwareengineering

Пікірлер: 153

  • @atefe3919
    @atefe39194 жыл бұрын

    No one explains solutions better than you, thank you so much for these videos, they are helping me a lot in the process of getting ready for technical interviews!

  • @NickWhite

    @NickWhite

    4 жыл бұрын

    thanks

  • @joanmoralesf
    @joanmoralesf2 жыл бұрын

    Its insane how short this video is but you explained it better than all the long fancy videos. Thank you

  • @prajwalshenoy9117
    @prajwalshenoy91173 жыл бұрын

    Nice one. We can have a case inside for loop to break it when prefix length reaches zero to avoid continuing to loop when there's no scope of common prefix further.

  • @ananyadutta6358
    @ananyadutta63583 жыл бұрын

    bro your explaining method is quite creative , out of 7 videos based on this that I'd WATCHED , this was the best!

  • @vcfirefox
    @vcfirefox3 жыл бұрын

    Dude, I am probably much older than you, but goddamn I am LOVING your explanations. Getting a chance to prep my interviews very efficiently!

  • @poojaupadhyay6364
    @poojaupadhyay63643 жыл бұрын

    such a clear approach! everytime i do leetcode and feel like wtf about a question ,i come here to watch your tutorial and i understand the solution so clearly! thanks a lot,u have a great help dude!

  • @suyogsubedi8584

    @suyogsubedi8584

    3 жыл бұрын

    are you a better problem solver by now?

  • @jay-wf3ft
    @jay-wf3ft3 жыл бұрын

    I think it would be great if you would show 2 solutions. One with a slow run time and then the optimal solution such as this. It really helps to understand it even more. Either way awesome video

  • @pritampadhan5977

    @pritampadhan5977

    2 жыл бұрын

    Above logic takes more time i think

  • @satyamgupta6030
    @satyamgupta6030 Жыл бұрын

    what a solution man thanks alot nick brother please continue making these videos. u r just different when it comes to explaining in most optimised ways.

  • @KhayamGondal
    @KhayamGondal Жыл бұрын

    you can add a check for prefix length ==0 at the end of the while loop. Incase nothing matches with the 2nd string then no need to check with rest of the list. And instead of substringing every itteration you can keep track of right index and only substring when returning the result.

  • @raghavendrathakur2239

    @raghavendrathakur2239

    Жыл бұрын

  • @bhargavvaddepally3221
    @bhargavvaddepally32213 жыл бұрын

    Damn man that explanation was so smooth

  • @simrankak7045
    @simrankak70453 жыл бұрын

    Why i didnt find your channel until now. Your explaination is crisp clear and very simple thankyou :)

  • @tanyagoel9140
    @tanyagoel91404 жыл бұрын

    It was so nicely explained. Thanks a lot!

  • @greatred2558
    @greatred25582 жыл бұрын

    thanks, tried many things for c# but kept falling out of bounds. This works and simple to understand

  • @kshitijpandey9376
    @kshitijpandey93762 жыл бұрын

    You wrapped that up very smoothly. Thanks Nick🙂.

  • @saradham2844
    @saradham28443 жыл бұрын

    Best solution for this problem . Great approach and clear explanation Thanks !!!

  • @utkarshsrivastava3114
    @utkarshsrivastava3114 Жыл бұрын

    What a clean and simple approach

  • @6066ChetanKhairnar
    @6066ChetanKhairnar3 жыл бұрын

    got through 3 different videos for a good solution but nick is one who always gives the best approach , Appreciate bro

  • @brucewayne9444
    @brucewayne94444 жыл бұрын

    Wow man. I could have never thought of approaching this problem this way. Thanks a ton👍

  • @nurulloabdurakhmanov4914

    @nurulloabdurakhmanov4914

    2 жыл бұрын

    Exactly man. What should we do to get into thinking like these aproaches ?

  • @ashish4k07

    @ashish4k07

    7 ай бұрын

    I thought of using 1st string in array of string as base and scanned through all others and checked if one by one it matches all other strings if it is then we increment the string and hence getting final lcp ans

  • @abhi26nav
    @abhi26nav3 жыл бұрын

    Kudos to such a clean explanation ! Thank you.

  • @himanshumalik6913
    @himanshumalik69133 жыл бұрын

    You know what, you just explained in a so easier way that no one has explained yet.

  • @Ben-pb7ct
    @Ben-pb7ct3 жыл бұрын

    Could you explain why the time complexity is O(S), where S is the sum of all characters in all strings?

  • @flyfly11111
    @flyfly111112 жыл бұрын

    You explained it very nicely. Thank you so much

  • @headyshotta5777
    @headyshotta5777 Жыл бұрын

    Thanks for the explanation. I still don't really understand how your while loop works but I'll keep working to understand.

  • @mohammadosama4709
    @mohammadosama47093 жыл бұрын

    Why do we need substring method we can check character by character vertically? Wouldn't that me more optimal?

  • @AlejandroRodriguez-lq9mz
    @AlejandroRodriguez-lq9mz4 жыл бұрын

    thanks for sharing such solution, very clear and easy one!

  • @thomasgeorge4578
    @thomasgeorge45782 жыл бұрын

    Man! your explanation is just fire 🔥🔥🔥

  • @hbrymiri8301
    @hbrymiri8301 Жыл бұрын

    Hands best step by step explanation.

  • @prathamchitransh5338
    @prathamchitransh53382 жыл бұрын

    best explaination for this problem on youtube

  • @tej3679
    @tej3679 Жыл бұрын

    best explanation, you explained clearly kudos

  • @LeetCodeSimplified
    @LeetCodeSimplified3 жыл бұрын

    Great explanation! Thx a lot!!

  • @jiangtianfeng5971
    @jiangtianfeng59714 жыл бұрын

    very clear! Thx man

  • @maxstanley1818
    @maxstanley18183 жыл бұрын

    yo but what if the first element in the "fl" prefix array is something like "dog" or something?

  • @sreenidhisreesha
    @sreenidhisreesha Жыл бұрын

    Since indexOf is linear time complexity, Doesnt it make this O(n2) time complexity?

  • @vicente3j
    @vicente3j Жыл бұрын

    When I search up a leetcode question I always go to Nick White if its available 😂 Great video

  • @gauravmishra8782
    @gauravmishra87829 ай бұрын

    how did you came up with this solution?

  • @amitpadaliya6916
    @amitpadaliya69164 жыл бұрын

    really amazing solution

  • @solomonmokua4643
    @solomonmokua4643 Жыл бұрын

    Than you, well explained, was able to implement your solution in Python.

  • @harshal101096
    @harshal1010962 жыл бұрын

    whats the timecomplexity?

  • @rohitkushwaha6125
    @rohitkushwaha61252 жыл бұрын

    Thank you so much for the explanation ut was really nice.

  • @user-uh7lr6bo7w
    @user-uh7lr6bo7w Жыл бұрын

    Amazing explanation!

  • @kso3586
    @kso3586 Жыл бұрын

    Amazing! thank you so much👍

  • @ashish4k07
    @ashish4k077 ай бұрын

    So can what can be the overall time complexity for this

  • @DevanshuMevada
    @DevanshuMevada4 жыл бұрын

    Thanks Man!

  • @KIM-ODee
    @KIM-ODeeАй бұрын

    Thanks for your explain!

  • @adil_k
    @adil_k10 ай бұрын

    Thanks for this awesome video

  • @davidc3268
    @davidc32682 жыл бұрын

    how is a linear solution? theres is a nested while loop inside?

  • @freinheit6923
    @freinheit692310 ай бұрын

    thank you for explaining!

  • @NeeruSinghK
    @NeeruSinghK4 жыл бұрын

    great.. nice and easy solution

  • @Post2prqbu
    @Post2prqbu4 жыл бұрын

    wow! elegant solution!

  • @carefree_ladka
    @carefree_ladka2 жыл бұрын

    indexOf() takes O(N) time . How is your method linear?

  • @vidhi_bhatt
    @vidhi_bhatt2 жыл бұрын

    simple and on point!

  • @ruifan793
    @ruifan7934 жыл бұрын

    Help me a lot, thanks

  • @gokulkumarbhoomibalan5413
    @gokulkumarbhoomibalan54133 жыл бұрын

    Really helpful!

  • @abhinavs2484
    @abhinavs2484 Жыл бұрын

    in worst case it is O^n2 right, is there any better solution!

  • @zerosandones7547
    @zerosandones75472 жыл бұрын

    confusion.Cleared(); THANK YOU!

  • @pragatikumarprusty7061
    @pragatikumarprusty70612 жыл бұрын

    If possible, please tell the time and space complexity as well ...

  • @aadhi_dinesh7668
    @aadhi_dinesh7668 Жыл бұрын

    IN PYTHON s=["flow","flew","flower"] k=s[0] flag=0 a="" for x in range(len(k)): for j in s[1:]: if k[x]!=j[x]: flag=1 else: a=""+k[x] if flag==1: break else: print(a,end="")

  • @ricardosmith5753
    @ricardosmith57532 жыл бұрын

    very clean solution.

  • @avinashpatil9662
    @avinashpatil9662 Жыл бұрын

    What is the time complexity of this solution?

  • @jasonliu7186
    @jasonliu71864 жыл бұрын

    Thanks very much!

  • @balavardhanreddy8581
    @balavardhanreddy8581 Жыл бұрын

    by watching this video i subscribed ur channel

  • @swethanooka896
    @swethanooka8962 жыл бұрын

    Can anyone explain me the while loop part of the code?

  • @iTzAlwxyss
    @iTzAlwxyss2 жыл бұрын

    How does this not work for processing 4 that uses java ?

  • @theolim6994
    @theolim6994 Жыл бұрын

    Thank you so much for great explanation!!! Helped so much!

  • @swagatzeher
    @swagatzeher3 жыл бұрын

    Thanks man Nick... you are a pocket sized dynamite ;)

  • @xchen7499
    @xchen74993 жыл бұрын

    Thank you, well explained, and very helpful!

  • @GoodTimeDev
    @GoodTimeDev Жыл бұрын

    Thank you !

  • @thatsenoughdixit
    @thatsenoughdixit Жыл бұрын

    Very nice. Commenting so I get more videos.

  • @blaze9558
    @blaze955810 ай бұрын

    thanks man!

  • @habibdurodola5728
    @habibdurodola57283 жыл бұрын

    Best solutions , Yes you did !

  • @ehsanhosseini5861
    @ehsanhosseini58613 жыл бұрын

    Thank you for this amazing explanation. What is the time complexity?

  • @royt6924

    @royt6924

    3 жыл бұрын

    I believe it is O(A*S) where A is the iteration for each element of array, where S for the iteration of string

  • @ayushbudhwani
    @ayushbudhwani3 жыл бұрын

    Nailed it!!

  • @vrindatyagi6744
    @vrindatyagi67443 жыл бұрын

    THANKYOU SO MUCH

  • @abdulqudusyunus9786
    @abdulqudusyunus97862 жыл бұрын

    Nice explanation

  • @crackonmynikes681
    @crackonmynikes681 Жыл бұрын

    amazing tutorial

  • @srijitdebsarma3451
    @srijitdebsarma34512 жыл бұрын

    Best explanation 😍🥰

  • @shivamd23
    @shivamd233 жыл бұрын

    Best Solution 😊👍

  • @sameer9368
    @sameer93684 жыл бұрын

    hello....please do the problem on the merging k- sorted array using heap.

  • @NickWhite

    @NickWhite

    4 жыл бұрын

    send me a link in discord and i'll check it out

  • @sameer9368

    @sameer9368

    4 жыл бұрын

    i am solving in eclipse . i have the problem statement. can i share you that problem statement. i dont know the approach how to solve such problem, i am the beginner. also i am unaware of the concept like heap. please do the video on it

  • @Noname-di3yz
    @Noname-di3yz Жыл бұрын

    the only thing I don't understand is why we can set the first element as the prefix initially... isn't it possible that there is a different longest prefix? ex/ ["ab", "cd", "cde", "cdef","cdefg"], where if we set the prefix to "ab" wouldn't your solution return "" ?

  • @syc4654

    @syc4654

    Жыл бұрын

    probably very late but although the problem doesn't mention it specifically,longest common means that the common prefix must be common for all the elements in the array,so yes,"" would be returned and it would be correct,you can test it yourself inputting your string own string in the Testcase section(In the console) and seeing the expected resulted (from a working code) and your result (from your code)

  • @shastriswaroop
    @shastriswaroop4 жыл бұрын

    How about setting the prefix as the smallest length string and then starting loop from index 0. For longer string array it will be beneficial?

  • @makgaboemmanuelmathekga2805
    @makgaboemmanuelmathekga28059 ай бұрын

    the code breaks though, with index out of bound error when there is no common prefix

  • @simardeepkaur8275
    @simardeepkaur82752 жыл бұрын

    Thanks buddy

  • @arjun-cw7cr
    @arjun-cw7cr4 жыл бұрын

    thank you

  • @sarash9607
    @sarash9607 Жыл бұрын

    Can anyone tell me why do we set the first string as a prefix ? how do we know it is the longest string and the one that has all the letters that we want ? what if the array was like strs = [ "flight", "flower", "flow"]

  • @raghavendrathakur2239

    @raghavendrathakur2239

    Жыл бұрын

    when program runs it finds common between flight and flower first the common is fl and 2nd iteration it will find common between fl and flow so our aim is to find common in strings so what is there in 1st will be in all the strings if not it returns empty string

  • @Itachibatman
    @Itachibatman Жыл бұрын

    thanks don

  • @Whaleshamu
    @Whaleshamu4 жыл бұрын

    can you make video on Gray code (Leetcode 89)?

  • @NickWhite

    @NickWhite

    4 жыл бұрын

    I’ll check it out!

  • @gayan1742
    @gayan17422 жыл бұрын

    Time complexity of indexOf is O(n) though.

  • @akhila5597
    @akhila55973 жыл бұрын

    Simply wow

  • @isaacwhiz
    @isaacwhiz12 күн бұрын

    You a genius

  • @sophiezhang6516
    @sophiezhang65164 жыл бұрын

    thank u~

  • @rajeevsingh5453
    @rajeevsingh54533 жыл бұрын

    What's the time complexity of this algorithm?

  • @aryamankukal1056

    @aryamankukal1056

    3 жыл бұрын

    linear

  • @fei3841
    @fei38414 жыл бұрын

    thanks!!

  • @mohitdangwal587
    @mohitdangwal5872 жыл бұрын

    you the BEST!!!!!!!!!!!!!!!!!

  • @longchen4072
    @longchen40724 жыл бұрын

    clever man!

  • @abhishekmamgain224
    @abhishekmamgain2242 жыл бұрын

    Still you are using While loop and one for-loop. Wouldn't this make the time complexity similar as two for-loops

  • @mohammadrafi895

    @mohammadrafi895

    2 жыл бұрын

    No, it wouldn't because the inner loop will not depend on the length of input array. Input array could have 100 words but each word can't be longer than 20 characters, on average 5-10.

  • @fahdagodzo5795
    @fahdagodzo57953 жыл бұрын

    This guy is smart

  • @start1learn-n171
    @start1learn-n171Ай бұрын

    Tq

  • @dgr8raka470
    @dgr8raka4702 жыл бұрын

    I think in place of “indexOf” .. we need to use “startswith” method… tq for the vdo

  • @velmuruganjeyakumar1746

    @velmuruganjeyakumar1746

    Жыл бұрын

    Yooo Man , I too had that same feeling

  • @TheRishit99
    @TheRishit992 жыл бұрын

    Great explanation. Can solve this with Trie Tree ?

  • @carefree_ladka

    @carefree_ladka

    2 жыл бұрын

    That's the efficient way to solve this problem

  • @Thrallgg
    @Thrallgg3 жыл бұрын

    str.indexOf and str.subStr is O(m*n) i think, so I don't think it's optimal.

  • @tuckerleavitt

    @tuckerleavitt

    3 жыл бұрын

    Yes you're correct, a.indexOf(b) is O(len(a) *len(b)) in the worst case. There is a better solution

  • @pranaychoubey9706

    @pranaychoubey9706

    3 жыл бұрын

    you can eventually shift to stringbuilder i guess.

Келесі