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;
}
相关推荐
careathers2 分钟前
【数据结构】二叉树
数据结构·算法
2601_9622186118 分钟前
C++ string 类原理、踩坑与对象语义详解
开发语言·c++
爱写代码的小朋友33 分钟前
Windows 下 MSYS2 + MinGW64 安装与使用 OpenCV 全指南(含踩坑记录)
c++·人工智能·windows·opencv
重生之小比特42 分钟前
【C++进阶】封装红⿊树实现mymap和myset
开发语言·c++
Omics Pro1 小时前
空间组学!医学代谢显微工具
数据库·人工智能·算法·机器学习·自然语言处理
YYYing.1 小时前
【设计模式系列 (四) 】建造者模式
c++·后端·设计模式·建造者模式·c/c++
羑悻的小杀马特1 小时前
Docker高阶实战:从Redis集群到C++微服务,全面解析镜像优化与生产环境部署+镜像制作常见问题详解
c++·redis·docker·镜像制作·dockefile
Coder-magician1 小时前
《代码随想录》刷题打卡day44:图论-part02
算法·深度优先·图论
别动我齐刘海1 小时前
ROS2 Jazzy + C++ 时间系统——Time / Clock / Duration
linux·c++·人工智能·学习·机器学习·机器人·自动驾驶
克里斯蒂亚诺更新1 小时前
理解机器学习的各种算法
人工智能·算法·机器学习