🚀 算法题 🚀 |
🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀
🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨
🌲 作者简介:硕风和炜,优快云-Java领域优质创作者🏆,保研|国家奖学金|高中学习JAVA|大学完善JAVA开发技术栈|面试刷题|面经八股文|经验分享|好用的网站工具分享💎💎💎
🌲 恭喜你发现一枚宝藏博主,赶快收入囊中吧🌻
🌲 人生如棋,我愿为卒,行动虽慢,可谁曾见我后退一步?🎯🎯
🚀 算法题 🚀 |
🚩 题目链接
⛲ 题目描述
描述
给定两个字符串str1和str2,输出两个字符串的最长公共子串
题目保证str1和str2的最长公共子串存在且唯一。
示例1
输入:
“1AB2345CD”,“12345EF”
返回值:
“2345”
🌟 求解思路&实现代码&运行结果
⚡ 递归 + 缓存 + 动态规划
🥦 求解思路
- 注意,首先要区分最长公共子串和最长公共子序列,最长公共子序列如果不相等的情况下,还可以继续判断第一个字符串下一个位置和第二个字符串当前的位置,或者第一个字符串当前的位置和第二个字符串下一个位置。而公共子串相反,如果此时的俩个位置不相同,直接结束判断。
- 还有一个需要注意的点是,公共子