AcWing 778. 字符串最大跨距

简介: AcWing 778. 字符串最大跨距

文章目录

  • AcWing 778. 字符串最大跨距
  • AC代码


AcWing 778. 字符串最大跨距

本题链接:AcWing 778. 字符串最大跨距

本博客给出本题截图

image.png

AC代码

代码

#include <iostream>
using namespace std;
int main()
{
    string s, s1, s2;
    char c;
    while (cin >> c, c != ',') s += c;
    while (cin >> c, c != ',') s1 += c;
    while (cin >> c) s2 += c;
    if (s.size() < s1.size() || s.size() < s2.size()) puts("-1");
    else
    {
        int l = 0;
        while (l + s1.size() <= s.size())
        {
            int k = 0;
            while (k < s1.size())
            {
                if (s[l + k] != s1[k]) break;
                k ++ ;
            }
            if (k == s1.size()) break;
            l ++ ;
        }
        int r = s.size() - s2.size();
        while (r >= 0)
        {
            int k = 0;
            while (k < s2.size())
            {
                if (s[r + k] != s2[k]) break;
                k ++ ;
            }
            if (k == s2.size()) break;
            r -- ;
        }
        l += s1.size() - 1;
        if (l >= r) puts("-1");
        else printf("%d\n", r - l - 1);
    }
    return 0;
}



目录
打赏
0
0
0
0
62
分享
相关文章
|
5月前
acwing139. 回文子串的最大长度
acwing139. 回文子串的最大长度
22 0
LeetCode第12题目整数转罗马数字
该文章介绍了 LeetCode 第 12 题整数转罗马数字的解法,通过使用 TreeMap 按照整数从大到小排序,先使用大的罗马数字表示整数,再用小的,核心是先表示完大的罗马数字,想通此点该题较简单。
LeetCode第12题目整数转罗马数字
LeetCode第13题目罗马数字转整数
该文章介绍了 LeetCode 第 13 题罗马数字转整数的解法,通过从大到小解析罗马数字,根据罗马数字的特点,按照从大到小的顺序匹配罗马数字和整数的关系,从而解决该问题,同时强调要注意观察题目考查的知识点特征。
AcWing 772. 只出现一次的字符
AcWing 772. 只出现一次的字符
88 0
AcWing 772. 只出现一次的字符
AcWing 777. 字符串乘方
AcWing 777. 字符串乘方
96 0
AcWing 777. 字符串乘方
AcWing 748. 数组的右下半部分
AcWing 748. 数组的右下半部分
79 0
AcWing 748. 数组的右下半部分
AcWing 746. 数组的左下半部分
AcWing 746. 数组的左下半部分
95 0
AcWing 746. 数组的左下半部分
AcWing 739. 数组选择
AcWing 739. 数组选择
62 0
AcWing 739. 数组选择