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;
}
相关推荐
byte轻骑兵14 小时前
Rust赋能Android蓝牙协议栈:从C++到安全高效的重构之路
android·c++·rust
爪哇部落算法小助手15 小时前
每日两题day44
算法
不穿格子的程序员15 小时前
从零开始写算法——二分-搜索二维矩阵
线性代数·算法·leetcode·矩阵·二分查找
龙泉寺天下行走16 小时前
MinGW-w64 工具链(GCC 编译器) 的不同构建版本的区别
c++
Kuo-Teng16 小时前
LeetCode 19: Remove Nth Node From End of List
java·数据结构·算法·leetcode·链表·职场和发展·list
Kuo-Teng16 小时前
LeetCode 21: Merge Two Sorted Lists
java·算法·leetcode·链表·职场和发展
代码AC不AC16 小时前
【C++】异常
c++·学习·异常
2301_8003997216 小时前
stm32 printf重定向到USART
java·stm32·算法
小龙报16 小时前
《嵌入式成长系列之51单片机 --- Keil5创建工程》
c语言·开发语言·c++·单片机·嵌入式硬件·51单片机·学习方法
9ilk17 小时前
【基于one-loop-per-thread的高并发服务器】--- 项目测试
运维·服务器·c++·后端·中间件