C++双指针,速度超过dp | #最长公共子串#

最长公共子串

http://www.nowcoder.com/practice/f33f5adc55f444baa0e0ca87ad8a6aac

class Solution {

public:

/**
* 双指针
*/
string LCS(string str1, string str2) {
    int first = 0, second = 0;

	int maxLen = 0;
	string res;
	while (second < str1.size()) {
		string subStr = str1.substr(first, second - first + 1);
		if (str2.find(subStr) != string::npos) {
			if (subStr.size() > maxLen) {
				maxLen = subStr.size();
				res = subStr;
			}
			second++;
		} else {
			if (second == first) {
				second ++;
				first ++;
			} else if (first < second) {
				first ++;
			}
		}
	}

	return res;
}

};

全部评论
这个方法很快 16ms
点赞 回复 分享
发布于 2023-10-29 21:43 上海
牛客网 if (second++ == first++) 显示报错
点赞 回复 分享
发布于 2023-02-03 13:11 广东

相关推荐

风中翠竹:真的真的真的没有kpi。。。面试官是没有任何kpi的,捞是真的想试试看这个行不行,碰碰运气,或者是面试官比较闲现在,没事捞个人看看。kpi算HR那边,但是只有你入职了,kpi才作数,面试是没有的。
双非有机会进大厂吗
点赞 评论 收藏
分享
评论
9
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务