当前位置:网站首页>2816. 判断子序列(双指针)
2816. 判断子序列(双指针)
2022-08-10 18:23:00 【一条小小yu】
给定一个长度为 nn 的整数序列 a1,a2,…,ana1,a2,…,an 以及一个长度为 mm 的整数序列 b1,b2,…,bmb1,b2,…,bm。
请你判断 aa 序列是否为 bb 序列的子序列。
子序列指序列的一部分项按原有次序排列而得的序列,例如序列 {a1,a3,a5}{a1,a3,a5} 是序列 {a1,a2,a3,a4,a5}{a1,a2,a3,a4,a5} 的一个子序列。
输入格式
第一行包含两个整数 n,mn,m。
第二行包含 nn 个整数,表示 a1,a2,…,ana1,a2,…,an。
第三行包含 mm 个整数,表示 b1,b2,…,bmb1,b2,…,bm。
输出格式
如果 aa 序列是 bb 序列的子序列,输出一行 Yes。
否则,输出 No。
数据范围
1≤n≤m≤1051≤n≤m≤105,
−109≤ai,bi≤109−109≤ai,bi≤109
输入样例:
3 5
1 3 5
1 2 3 4 5
输出样例:
Yes#include <bits/stdc++.h>
typedef long long ll;
typedef double db;
using namespace std;
const int N=1e5+10;
int n,m;
int a[N],b[N];
int main()
{
ios :: sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin>>n>>m;
for(int i=0;i<n;i++)
{
cin>>a[i];
}
for(int i=0;i<m;i++)
{
cin>>b[i];
}
int i=0;
for(int j=0;j<m;j++)
{
if(i<n&&a[i]==b[j])i++;
}
if(i==n)
{
cout<<"Yes";
}
else
{
cout<<"No";
}
return 0;
}
边栏推荐
猜你喜欢
随机推荐
装饰者模式
Scala中使用 Jackson API 进行JSON序列化和反序列化
StoneDB Document Bug Hunting Season 1
剑指 Offer 27. 二叉树的镜像(翻转二叉树)
NPDP|传统行业产品经理如何进行能力提升?
Active users of mobile banking grew rapidly in June, hitting a half-year high
【FAQ】OpenHarmony与HarmonyOS的有什么区别?
#yyds干货盘点# 面试必刷TOP101:二分查找-I
pip3升级到22.2.2
从企业的视角来看,数据中台到底意味着什么?
想玩转监控神器Prometheus吗?
剖析Framework面试—>>>冲击Android高级职位
const的自己理解
Major upgrade of MSE Governance Center - Traffic Governance, Database Governance, Same AZ Priority
H3C_堆叠(IRF)及链路聚合在项目中的综合应用
Toronto Research Chemicals 对乙酰氧基苯乙酮说明书
MySql main performance indicators description
面试题 04.12. 求和路径-dfs+辅助数组法
VoLTE基础自学系列 | 3GPP规范解读之Rx接口(上集)
【接入指南 之 直接接入】手把手教你快速上手接入HONOR Connect平台(下)









