week5-[字符数组]查找

week5-[字符数组]查找

题目描述

给定两个只包含小写字母的字符串 a,ba,ba,b,请问 bbb 是否在 aaa 中出现过?

输入格式

输入共 222 行。

第 111 行 111 个只包含小写字母的字符串 aaa。

第 222 行 111 个只包含小写字母的字符串 bbb。

输出格式

输出共 111 行表示答案。如果出现过,输出 YES,否则输出 NO`。

样例 #1

样例输入 #1

复制代码
helloworld
owo

样例输出 #1

复制代码
YES

样例 #2

样例输入 #2

复制代码
abcdcaa
da

样例输出 #2

复制代码
NO

提示

数据范围

对于所有数据,a,ba,ba,b 的长度都不超过 100010001000。

方法一:用 string.find (最简单)

c++ 复制代码
#include <bits/stdc++.h>
using namespace std;

int main() {
    string a, b;
    cin >> a >> b;
    if (a.find(b) != string::npos) cout << "YES\n";
    else cout << "NO\n";
    return 0;
}

方法二:自己写子串查找(纯数组思路)

c++ 复制代码
#include <bits/stdc++.h>
using namespace std;

int main() {
    char a[1010], b[1010];
    cin >> a >> b;
    int n = strlen(a), m = strlen(b);
    bool ok = false;

    for (int i = 0; i + m <= n; i++) {
        bool match = true;
        for (int j = 0; j < m; j++) {
            if (a[i + j] != b[j]) {
                match = false;
                break;
            }
        }
        if (match) {
            ok = true;
            break;
        }
    }

    cout << (ok ? "YES" : "NO") << "\n";
    return 0;
}
相关推荐
「QT(C++)开发工程师」1 分钟前
C++并发编程新纪元:线程库、异步操作与泛型Lambda深度解析
开发语言·c++
-许平安-4 分钟前
MCP项目笔记四(Transport)
开发语言·c++·笔记·ai·mcp
2401_894241926 分钟前
基于C++的数据库连接池
开发语言·c++·算法
阿贵---6 分钟前
C++中的适配器模式
开发语言·c++·算法
木井巳9 分钟前
【递归算法】全排列
算法·leetcode·决策树·深度优先·剪枝
qq_4663024510 分钟前
vs2022 与Qt版本兼容 带来的警告
c++·qt
dapeng287012 分钟前
C++与Docker集成开发
开发语言·c++·算法
2501_9454235413 分钟前
C++中的策略模式实战
开发语言·c++·算法
2301_7923082515 分钟前
C++与自动驾驶系统
开发语言·c++·算法
会编程的土豆16 分钟前
【数据结构与算法】LCS刷题
数据结构·算法·动态规划