文章

44

粉丝

18

获赞

334

访问

25.6k

头像
最大公共子串 题解:
P1855 兰州大学机试
发布于2025年3月26日 15:45
阅读数 21

#include <iostream>
#include <cstring>
#include <bits/stdc++.h>
using namespace std;

int main() {
    string s1, s2, max_substr;
    int lens1, lens2;
    int maxlen = 0;
    int maxpos = -1;  // 初始化为-1,表示未找到公共子串

    // 输入字符串
    cin >> s1;
    cin >> s2;

    lens1 = s1.length();
    lens2 = s2.length();

    // 双重循环遍历每个字符位置
    for (int i = 0; i < lens1; i++) {
        for (int j = 0; j < lens2; j++) {
            if (s1[i] == s2[j]) {  // 字符相同的情况
                int k = 0;
                // 检查是否后续字符匹配
                while (i + k < lens1 && j + k < lens2 && s1[i + k] == s2[j + k]) {
        ...

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发