文章

5

粉丝

36

获赞

0

访问

918

头像
最大公共子串 题解:暴力解,四层循环
P1855 兰州大学机试
发布于2024年3月15日 20:55
阅读数 147

很简单,前两层循环负责找第一个字符串的子串,后两层循环负责找第二个字符串的子串,之后在找最长且相等的子串就结束了

#include<iostream>
#include<algorithm>
#include<string>
#include<vector>

using namespace std;

int main(void) {
	string str1;
	string str2;
	cin >> str1 >> str2;

	int zlong = 0;
	string res;
	string zstr1;
	string zstr2;
	for (int i = 0; i < str1.size(); i++) {
		zstr1.clear();
		for (int j = i; j < str1.size(); j++) {
			zstr1.push_back(str1[j]);
			int count = zstr1.size();
			for (int k = 0; k < str2.size(); k++) {
				zstr2.clear();
				for (int d = k; d < str2.size(); d++) {
					zstr2.push_back(str2[d]);

					if (zstr1 == zstr2 && count > zlong) {
						zlong = count;
						res = zstr1;
					}
				}
			}
		}
	}

	cout << res;

	return 0;
}

 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发