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
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
4 жыл бұрын
thanks
Its insane how short this video is but you explained it better than all the long fancy videos. Thank you
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.
bro your explaining method is quite creative , out of 7 videos based on this that I'd WATCHED , this was the best!
Dude, I am probably much older than you, but goddamn I am LOVING your explanations. Getting a chance to prep my interviews very efficiently!
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
3 жыл бұрын
are you a better problem solver by now?
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
2 жыл бұрын
Above logic takes more time i think
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.
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
Жыл бұрын
Damn man that explanation was so smooth
Why i didnt find your channel until now. Your explaination is crisp clear and very simple thankyou :)
It was so nicely explained. Thanks a lot!
thanks, tried many things for c# but kept falling out of bounds. This works and simple to understand
You wrapped that up very smoothly. Thanks Nick🙂.
Best solution for this problem . Great approach and clear explanation Thanks !!!
What a clean and simple approach
got through 3 different videos for a good solution but nick is one who always gives the best approach , Appreciate bro
Wow man. I could have never thought of approaching this problem this way. Thanks a ton👍
@nurulloabdurakhmanov4914
2 жыл бұрын
Exactly man. What should we do to get into thinking like these aproaches ?
@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
Kudos to such a clean explanation ! Thank you.
You know what, you just explained in a so easier way that no one has explained yet.
Could you explain why the time complexity is O(S), where S is the sum of all characters in all strings?
You explained it very nicely. Thank you so much
Thanks for the explanation. I still don't really understand how your while loop works but I'll keep working to understand.
Why do we need substring method we can check character by character vertically? Wouldn't that me more optimal?
thanks for sharing such solution, very clear and easy one!
Man! your explanation is just fire 🔥🔥🔥
Hands best step by step explanation.
best explaination for this problem on youtube
best explanation, you explained clearly kudos
Great explanation! Thx a lot!!
very clear! Thx man
yo but what if the first element in the "fl" prefix array is something like "dog" or something?
Since indexOf is linear time complexity, Doesnt it make this O(n2) time complexity?
When I search up a leetcode question I always go to Nick White if its available 😂 Great video
how did you came up with this solution?
really amazing solution
Than you, well explained, was able to implement your solution in Python.
whats the timecomplexity?
Thank you so much for the explanation ut was really nice.
Amazing explanation!
Amazing! thank you so much👍
So can what can be the overall time complexity for this
Thanks Man!
Thanks for your explain!
Thanks for this awesome video
how is a linear solution? theres is a nested while loop inside?
thank you for explaining!
great.. nice and easy solution
wow! elegant solution!
indexOf() takes O(N) time . How is your method linear?
simple and on point!
Help me a lot, thanks
Really helpful!
in worst case it is O^n2 right, is there any better solution!
confusion.Cleared(); THANK YOU!
If possible, please tell the time and space complexity as well ...
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="")
very clean solution.
What is the time complexity of this solution?
Thanks very much!
by watching this video i subscribed ur channel
Can anyone explain me the while loop part of the code?
How does this not work for processing 4 that uses java ?
Thank you so much for great explanation!!! Helped so much!
Thanks man Nick... you are a pocket sized dynamite ;)
Thank you, well explained, and very helpful!
Thank you !
Very nice. Commenting so I get more videos.
thanks man!
Best solutions , Yes you did !
Thank you for this amazing explanation. What is the time complexity?
@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
Nailed it!!
THANKYOU SO MUCH
Nice explanation
amazing tutorial
Best explanation 😍🥰
Best Solution 😊👍
hello....please do the problem on the merging k- sorted array using heap.
@NickWhite
4 жыл бұрын
send me a link in discord and i'll check it out
@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
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
Жыл бұрын
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)
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?
the code breaks though, with index out of bound error when there is no common prefix
Thanks buddy
thank you
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
Жыл бұрын
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
thanks don
can you make video on Gray code (Leetcode 89)?
@NickWhite
4 жыл бұрын
I’ll check it out!
Time complexity of indexOf is O(n) though.
Simply wow
You a genius
thank u~
What's the time complexity of this algorithm?
@aryamankukal1056
3 жыл бұрын
linear
thanks!!
you the BEST!!!!!!!!!!!!!!!!!
clever man!
Still you are using While loop and one for-loop. Wouldn't this make the time complexity similar as two for-loops
@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.
This guy is smart
Tq
I think in place of “indexOf” .. we need to use “startswith” method… tq for the vdo
@velmuruganjeyakumar1746
Жыл бұрын
Yooo Man , I too had that same feeling
Great explanation. Can solve this with Trie Tree ?
@carefree_ladka
2 жыл бұрын
That's the efficient way to solve this problem
str.indexOf and str.subStr is O(m*n) i think, so I don't think it's optimal.
@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
3 жыл бұрын
you can eventually shift to stringbuilder i guess.