Longest Palindromic Substring O(N) Manacher's Algorithm
Problem:-
Given a string s, find out the longest palindromic substring in O(N)
using Manacher's algorithm.
This video explains the Manacher's Algorithm for finding out the longest Palindromic Substring.
Useful References:-
en.wikipedia.org/wiki/Longest...
articles.leetcode.com/2011/11/...
tarokuriyama.com/projects/pali...
Website: www.ideserve.co.in
Facebook: / ideserve.co.in
Пікірлер: 467
8 years old but still better explanation compared to newer videos explaining the same
GFG took 4 articles to explain this. This man nailed it in only 15 mins .
@IDeserve
4 жыл бұрын
Thanks Ritik!
@KshitijBhatnagar
3 жыл бұрын
This is really true.... :)
@AnkitSharma-nf2gp
2 жыл бұрын
23 min lie h bhai acche se dekh
epic explanation man. watching it twice did it for me. i can imagine the patience it took you to make these 176 slides
@IDeserve
8 жыл бұрын
+ashish paralkar Thanks a lot for your kind feedback and you are right in that it took some patience to create this video. Ashish, we would really appreciate if you can spread the word about IDeserve(www.ideserve.co.in) in your peer circles. Cheers, Team IDeserve
@bryanbocao4906
5 жыл бұрын
@@IDeserve Thanks for making these slides and video! How long did it take you to make these slides?
@rahulchaubey8988
4 жыл бұрын
Bro mai ni samajh paya
couldn't get anything from the explanation alone, but as soon as you started showing the code, everything you explained started to click into place, very much well done
I have honestly never encountered an O(n) algorithm that is tricker than this. You give the best explanation though, thank you.
@IDeserve
5 жыл бұрын
Thank you so much for your kind words Jon!
@Adityarm.08
4 жыл бұрын
Ukkonen's suffix tree construction would do if you want to see that. 😄
@mohammadanasmudassir9443
4 жыл бұрын
@@Adityarm.08 That algorithm is an atrocity. I was only able to code 80% of it and cannot understand the online solutions :/
@Adityarm.08
4 жыл бұрын
@@mohammadanasmudassir9443 you need test cases, very thorough ones. I was also stuck at that point where you are - I think. that 1 famous Stack overflow post has a full chain of comments all of which taken together paint the full picture.
@bittupaul9455
5 ай бұрын
Ukkonen is a nightmare
Took me over a week to finally understand all of this. This is one of the hardest algorithms out there. Outstanding work!
@IDeserve
2 жыл бұрын
Thanks 😊
@dazleopper99
6 ай бұрын
thank you ! Great job !@@IDeserve
I don’t give up often but when I do it’s Manacher’s algorithm 😂
@IDeserve
4 жыл бұрын
🙈
@ankitagupta8511
4 жыл бұрын
+1 😒
IDeserve, you definitely deserve a standing ovation! I can't wait to checkout your other videos. Thank you!
@IDeserve
4 жыл бұрын
Thanks bro!
I was struggling the whole day to understand this topic and now finally I saw this video. I feel relieved now , very well explained along with the code.
@IDeserve
7 жыл бұрын
Thanks a lot for your words Shefali :) We are striving hard to make understanding algorithms easier. We would really appreciate if you could spread the word about IDeserve in your college and to your colleagues. Also please check out our website at: www.ideserve.co.in It has features like Algorithm Visualization, Learn Together and many more coming soon. Please check it out and leave us a comment there! Thanks, -Team IDeserve.
Dude. This was hands down the BEST explanation for the algorithm I've ever heard. Thank you so much!
@IDeserve
2 жыл бұрын
Thanks Daniel!
Best explanation on Manacher's alg I've ever seen! Really appreciate you for sharing this!
@IDeserve
4 жыл бұрын
Thanks Ziyan!
Save time: I watched all of Manacher`s algorithms on youtube, this is the best one.
@IDeserve
Жыл бұрын
Thanks Ece!
This was pretty difficult to understand but your efforts are commendable. Thank you
Epic video on Manacher's algorithm . Very clear and precise explaination. Appreciate the effort you have put to create this content.
@IDeserve
2 жыл бұрын
Thanks Zeeshan!
After spending 1.5 days on this problem, and reading that 4 pg GFG article, thank God I found the link of this video in the discuss section of GFG. This is the Best Explanation till now of Manacher's Algo. Thank You @IDeserve for this wonderful explanation :)
@IDeserve
3 жыл бұрын
Thanks Abhrajyoti!
I didn't think I fully got it when I finished the video, but then I tried to code it without referencing back here and it worked. Thanks!
So far, the best video for understanding it, rather than just explaining the process
@IDeserve
6 жыл бұрын
Thank you so much Doug for your kind words :)
great explanation, finally understood the enigma of Manacher's algorithm. keep doing the cool work
@IDeserve
2 жыл бұрын
Thanks Imran!
Thanks, the best walk-through of the algorithm I've seen so far!! Why'd you guys stop making videos?
I don't think this could've been explained any better than this. Appreciate your efforts, sir. Keep up the good work. Thanks
@IDeserve
4 жыл бұрын
Thanks Shubham!
I've watched around 5 videos and read 6 articles on this topic, and this video is the best and lucid explanation of the topic. Thankyou!
@IDeserve
Жыл бұрын
Thanks Tushar! 😊
been trying to understand it for hours and I understood it perfectly in a 15 minute video. thank you so much!
This is best lecture, I have found on KZread to understand the Manacher's Algorithm. The way you teach It reflect how much deep understanding You have. Thank You for this wonderful explanation, It saves lot of time and effort.
@IDeserve
Жыл бұрын
Thank You! 😊
@jabedhasan21
9 ай бұрын
I agree with you. When I started thinking about revising this algorithm, I came here.
Seriously, the best explaination I could get on whole youtube. Thanks :)
@IDeserve
Жыл бұрын
Thanks Prabhav!
Was really struggling to the point I was gonna skip this algorithm. You helped me understand it, thank you so much for your help! This is way better than some videos with more views.
went through a lot of videos to understand this algorithm. But this one is the best so far.
+Andrea De Domenico Thanks a lot for appreciating! There are many more videos coming soon. Also, you can let us know any interview topic or question of your choice that you would like to see on IDeserve. Thanks, -Team IDeserve.
@MrMalapatiravi
6 жыл бұрын
I would recommend most of the difficult and medium level questions from leetcode and their principles.
I was struggling yesterday night switching from video to video, at first, I didn't understand your explanation, but now it's clear. Thank you very much.
@IDeserve
7 жыл бұрын
Thanks for your kind words :) We would really appreciate if you could spread the word about IDeserve in your college and to your colleagues. Also please check out our website at: www.ideserve.co.in It has features like Algorithm Visualization, Learn Together and many more coming soon. Please check it out and leave us a comment there! Thanks, -Team IDeserve.
Great Explanation. Probably the best i have come across so far.
Nice explanation... I watch the video a couple of times, but I understood it perfectly. Thanks man for sharing this.
@IDeserve
3 жыл бұрын
Thanks Kshitij for kind words!
gone through many videos of manacher's algorithm.But this is the one where my searching stopped.Thank you for this awesome content
@IDeserve
4 жыл бұрын
Thanks Priyanshu!
Hey, I love these videos. These are definitely helping me as I prepare for the interview for my internships.
@IDeserve
8 жыл бұрын
+Wenhao Du Thanks a lot for your words! It is very encouraging to hear such comments! Also please check out our website at: www.ideserve.co.in It has features like algorithm visualizations, learn together and many more coming soon. Please check it out and leave us a comment there! Thanks, -Team IDeserve.
wow man the amount of effort you took to explain in this video is incredible, take a bow sir
@IDeserve
3 жыл бұрын
Thanks Arnab ☺️
Your explanation is Amazzing, simple and easy to understand, probably the best for such a complex algorithm. please keep it up. Thanks for this video and thanks to Mr Manacher as well for this algorithm.
@IDeserve
Жыл бұрын
Thanks Sudipta!
Thanks man. I struggle for whole day to understand it, but you made it so easy. Really appreciate your effort.
@IDeserve
4 жыл бұрын
Thanks Ankish!
This was so helpful thank you! I appreciate all of the patience it took you to iterate through this.
@IDeserve
5 жыл бұрын
Thank you so much for your kind words Glory!
Really great explanation. Watched couple of videos for this algo and yours is the best one. Very precise and your code walkthrough was awesome which made it complete. Appreciate your efforts in making those slides. Your videos would be mine first goto from now. Happy to share!
@IDeserve
5 жыл бұрын
Thank you so much for your kind words Harmeet!
the best and most clear explanation of manacher on YT
I looked at some other explanations and yours is by far the best. Thank you so much!
@IDeserve
5 жыл бұрын
Thank you so much for your kind words Dario!
I've seen many top youtuber's tried to explain but only you succeeded.
Bro you saved my day with your wonderful explanation, definitely subscribing!
Great video. I have read some blogs about this Algorithm and still not understand. Withi your explaination, it become clear to me! Thanks very much!
@IDeserve
8 жыл бұрын
+Owen Xu Thanks a lot for your words! We are striving hard to make understanding algorithms easier. We would really appreciate if you could spread the word about IDeserve in your college and to your colleagues. Also please check out our website at: www.ideserve.co.in It has features like algorithm visualizations, learn together and many more coming soon. Please check it out and leave us a comment there! Thanks, -Team IDeserve.
What an explanation sir. Keep it up. The best thing was you dry ran the code also with values, i didn't require even a pen and a copy to understand.
@IDeserve
5 жыл бұрын
Thank you so much for your kind words Sitesh!
I have watched other videos also. But your one made me understand it completely. Kudos to you buddy. Keep going.
@IDeserve
5 жыл бұрын
Thanks Ashwani!
Awesome explanation, loved your work and effort. You actually deserve it!!
@IDeserve
3 жыл бұрын
Thanks Savan!
I watch it again after almost 2 years, I have to say this video is by far the BEST algorithm on youtube ever!!!
@IDeserve
7 жыл бұрын
Hey James, welcome back!
This is awesome explanation , the visualisation helps a lot with understanding the idea behind the algorithm! Great job guys.
@IDeserve
4 жыл бұрын
Thanks Li!
Best Manacher's Algorithm explanation I have ever seen.
@IDeserve
5 жыл бұрын
Thanks!
Extra ordinary explanation of the mental modal behind Manacher's algorithm. The best of the best.
@IDeserve
3 жыл бұрын
Thanks Akila!
You are so good that you could have come up with this algorithm on your own. Thanks!
@IDeserve
4 жыл бұрын
Thanks Nisheet for your kind words!
very clear explanation. Great work. Thank you!
@IDeserve
3 жыл бұрын
Thanks Puneet!
I had decided to skip manachers algo for upcoming placement! Now I have it in my toolkit! thanks man gr8 job!
@IDeserve
2 жыл бұрын
All the best for the placements!
Thanks for the extremely clear explanation! Tracing the code made it even better :)
@IDeserve
4 жыл бұрын
You are welcome Tyler!
The "thinking pause" did it for me. I am floored
Thank you a lot for your explanation! It is the video that is worthy to spend 24 minutes on it!
@IDeserve
5 жыл бұрын
Thank you so much for your kind words Daniel!
Awesome! This is the most intuitive explanation, even people dull like me can understand the point of this algorithm now! Nice job, looking forward more of your publish!
@IDeserve
8 жыл бұрын
+吴佩 It's really encouraging to hear comments like these. Yes we are uploading new videos on regular basis. So, stay tuned :-). Please feel free to let us know if you would like us to upload a video for a particular topic/algorithm. We will really appreciate if you can spread the word about IDeserve(www.ideserve.co.in) in your peer circles. Thank you, Team IDeserve
after rewinding and pausing crying finally it just clicked dont give up on this it is staple for palindromic problems
thank you so much, sir, you are great ...... I found a lot of videos on manchester's algo but all that was waste material. you are a gem in terms of algorithms.
@IDeserve
3 жыл бұрын
Thanks Ashutosh!
Thanks man!! You are a good teacher. I got the central idea after watching your video once. Now, I can try coding it on my own.
@IDeserve
6 жыл бұрын
Thank you so much for your kind words Prudvinath!
Great explanation. I feel if there were indices on P[ ] then it would be easier to follow when you went through the code.
Wonderful explanation, concise and apt :) Helped me understand it till the depth. Great work, kudos !
@IDeserve
7 жыл бұрын
Thanks Shaival for your kind words :)
It's actually quite a simple algorithm once we become familiar with the concept. Basically, copying over the mirrors expansion length if the index lies within the current right boundary means we don't calculate the expand length from scratch at every index - we use the symmetric property of palindromes to give us a O(n) time.
Superb explanation. I was able to follow through without any trouble. Hats off. Would be great if you could explain KMP algo and Z algo as well. Thanks for this one.
@IDeserve
Жыл бұрын
Thanks Shubham!
I have been trying to understand this algorithm, but failing .. thanks ..just a single watch here on ur channel, I have understood it completely
Brilliant explanation! The visual explanation was indeed very helpful! Thanks a ton!
@IDeserve
5 жыл бұрын
Thank you so much for your kind words Shreyas!
best explanation found till now !!
Great work. Best explanation I've seen yet.
@IDeserve
8 жыл бұрын
+Jacob Hubbard Thanks a lot for your words! It is very encouraging to hear such comments! We are striving hard to make understanding algorithms easier. Please check out our website at: www.ideserve.co.in. It has features like algorithm visualizations, learning together and many more coming soon!
These repetitive comments on how brilliant this video was tells us about this video...from my side I really appreciate your efforts :)
@IDeserve
4 жыл бұрын
Thanks Anirudh!
the best explanation of manacher's algorithm, great buddy it really hepled me alot
@IDeserve
3 жыл бұрын
Thanks Mihir!
This is an excellent video. Just one suggestion for future videos: in the example that you went over, we never had the case where we had to take R-i over P[mirr]. It would be good for the example to include this case.
Excellent and very detailed presentation of a very complex topic. A lot of work must have gone into the graphics.
@IDeserve
2 жыл бұрын
Thanks Kunal!
Great Explanation, no other video on YT does the explanation this way, I was looking for video like this. Eg: "what is making the brute force algorithm to run in O(n^2) and how it can be optimized"
@IDeserve
3 жыл бұрын
Thanks Teja!
You can make it even faster if you'll check for "larger" palindrom, so when we've found the size 7 for example, at the start we check chars at that boundary. And I really can't get why it's only 2 "passes" through the string, because if it's string of same char, it will check the same char multiple times, like n/2 times for the first and n - i / 2 for the rest.
Awesome work man. Best explanation ever i have found on online.
@IDeserve
5 жыл бұрын
Thank you so much for your kind words Tanmoy 😀
Appreciate the effort. One of the best coding channels!
@IDeserve
5 жыл бұрын
Thanks Joydeep!
Good video, great explanation. Good job sir.
Spent whole day to understand this from other resources result ==> ~NULL Spent time here understood in 2 go !! Recommended!! Thank you for the best explanation.
@IDeserve
5 жыл бұрын
Thanks Ayush for your kind words!
If we store a max, in this case 7, why can't we exit early when the center of the palindrome at i cannot possibly be greater than 7? A palindrome at i of length 7 or more would hit end of string. Am I wrong or it perhaps not worth checking for this case?
Excellent presentation. Hugely helpful in understanding the algorithm
@IDeserve
7 жыл бұрын
Thanks forceinfinity for your kind words :) We are striving hard to make understanding algorithms easier. We would really appreciate if you could spread the word about IDeserve in your college and to your colleagues. Also please check out our website at: www.ideserve.co.in It has features like Algorithm Visualization, Learn Together and many more coming soon. Please check it out and leave us a comment there! Thanks, -Team IDeserve.
Thank you !! Keep uploading great videos please.
which animation software are you using?
help me with updating centre how can we judge by just comparing the R value, it depends on length of palindrome which does not depend only on R but also on C focussing on last if condtition: if( i+P[i] ) > R) { C = i; R = i+P[i]; } shouldn't it be: if(P[i] > R-C) {so on}
Excellent explanation for a complex algorithm. Minor correction of logic: If condition after 'while' loop is going to run every 'i' values that are greater than R. Example: 'ABABABACDEFG' try this as an example and check C and R values would change for i > 15 and overwrite C and R values to lower values. This will result in a wrong output. So, this 'if' condition should check for P[i] should be greater than P[R] to change C and R to new values. Replace if(i + P[i] > R) with if(P[i] > P[R]) Thank you for the great explanation.
If 'i' lies within boundaries we can directly copy mirror length to 'P[i]' but in the code why do we write 'min(R-i, P[mirr])' ?
Good explanation man...Try to explain all the important algorithms like this...
what a beautiful explanation man!
A really good explanation. Thanks for your hardwork man.
@IDeserve
4 жыл бұрын
Thanks Aatish!
@aatishchauhan8957
4 жыл бұрын
@@IDeserve Is the video on explaining the time complexity of this algorithm uploaded ?
Awesome explanation. Thank you very much. Appreciate your efforts.
@IDeserve
3 жыл бұрын
Thanks Prashant!
5:14 - superb questions. you explain it , as if you don't know the solution beforehand whcih is cool.
Dear Friends, If you like our content and would like us to continue making great content for you, please spread the word about IDeserve. A share/appreciation from you on social network would mean the world to us! Also, do like our Facebook page: facebook.com/IDeserve.co.in :) Thanks, -Team IDeserve.
Sir you nailed it . Thank you so much for awesome explanation 🙂
@IDeserve
2 жыл бұрын
Thank you for your kind words! 😊
you have done a good job debugging the code. keep it up bro.
@IDeserve
6 жыл бұрын
Thank you so much Sayed for your kind words :)
Great job!!...Looking forward for more videos
@IDeserve
6 жыл бұрын
Thanks for your kind words Ipsha!
Hi great explanation, I think with the help of p[] array values we can answer any query (l,r) for the palindromic check. We just have to change the query to (l',r') (because of # elements) and then checking p[mid] value. right ?
i tried understanding this for 3 days finally understood here thank you so much
@IDeserve
3 жыл бұрын
Thanks Sagnik!
what if the input string could be any char, and not just letters? Could you use this algorithm if that were the case?
23:48 minutes used for the best man !! Thank you so much for this finally got this😂
@IDeserve
4 жыл бұрын
You are welcome!
Absolutely amazing explanation, thank you so much!
@IDeserve
2 жыл бұрын
Thanks Aries!
excellent explanation bro. your patience must be paid off. keep up good work...
@IDeserve
4 жыл бұрын
Thanks Adarsh!
youtube recommended this, glad it did
@IDeserve
4 жыл бұрын
Thanks!