判断子序列(双指针做法)

2023-11-10

给定一个长度为 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 <iostream>
#include <cstring>

using namespace std;

const int N = 100010;

int n, m;
int a[N], b[N];

int main()
{
    scanf("%d%d", &n, &m);
    for (int i = 0; i < n; i ++ ) scanf("%d", &a[i]);
    for (int i = 0; i < m; i ++ ) scanf("%d", &b[i]);

    int i = 0, j = 0;
    while (i < n && j < m)
    {
        if (a[i] == b[j]) i ++ ;
        j ++ ;
    }

    if (i == n) puts("Yes");
    else puts("No");

    return 0;
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

判断子序列(双指针做法) 的相关文章

  • 水果成篮

    LeetCode 904 水果成篮 在一排树中 第i棵树产生tree i 型的水果 你可以从你选择的任何树开始 然后重复执行以下步骤 把这棵树上的水果放进你的篮子里 如果你做不到 就停下来 移动到当前树右侧的下一棵树 如果右边没有树 就停下
  • 环形链表

    LeetCode 环型链表 给定一个链表 返回链表开始入环的第一个节点 如果链表无环 则返回 null 为了表示给定链表中的环 我们使用整数 pos 来表示链表尾连接到链表中的位置 索引从 0 开始 如果 pos 是 1 则在该链表中没有环
  • LeetCode 之 剑指 Offer 21. 调整数组顺序使奇数位于偶数前面(Java)

    文章目录 LeetCode 之 剑指 Offer 21 调整数组顺序使奇数位于偶数前面 Java 一 题目 二 解题思路 三 代码 LeetCode 之 剑指 Offer 21 调整数组顺序使奇数位于偶数前面 Java 一 题目 剑指 Of
  • LeetCode 之 剑指 Offer 24. 反转链表(Java)

    文章目录 LeetCode 之 剑指 Offer 24 反转链表 Java 一 题目 二 解题思路 三 代码 LeetCode 之 剑指 Offer 24 反转链表 Java 一 题目 剑指 Offer 24 反转链表 定义一个函数 输入一
  • Leetcode2486-追加字符以获得子序列

    双指针遍历即可 class Solution public int appendCharacters string s string t int n s size m t size int l 0 r 0 while l
  • 【数据结构c++】双指针(九)

    1 双指针 两数之和 II 输入有序数组 https leetcode cn com problems two sum ii input array is sorted class Solution public vector
  • 区间列表的交集

    LeetCode 986 区间列表的交集 给定两个由一些 闭区间 组成的列表 每个区间列表都是成对不相交的 并且已经排序 返回这两个区间列表的交集 形式上 闭区间 a b 其中 a lt b 表示实数 x 的集合 而 a lt x lt b
  • LeetCode:189. 轮转数组(Java)

    方法1 跳序 轮转法 带标记 时间复杂度和空间复杂度均为O n 因为有些特殊情况 会陷入循环 比如这个例子 我不知道怎么处理这种情况 所以直接搞个标记数组falgs 来看看这个位置的数字是否被处理过 方法二来改进这个陷入循环的问题 clas
  • Leetcode[链表] 反转链表 -- 双指针法

    0 题目描述 leetcode原题链接 反转链表 1 双指针法 定义两个指针 pre 和 cur pre 在前 cur 在后 每次让 pre 的 next 指向 cur 实现一次局部反转 局部反转完成之后 pre 和 cur 同时往前移动一
  • leetcode 142题 环形链表找入环点 python js解法

    题目 给定一个链表的头节点 head 返回链表开始入环的第一个节点 如果链表无环 则返回 null 如果链表中有某个节点 可以通过连续跟踪 next 指针再次到达 则链表中存在环 为了表示给定链表中的环 评测系统内部使用整数 pos 来表示
  • 如何快速合并两个有序数组?

    前言 大家好 我是来自于 华为 的 程序员小熊 今天给大家带来一道与 数组 相关的题目 这道题同时也是字节 微软和亚马逊等互联网大厂的面试题 即力扣上的第 88 题 合并两个有序数组 本文主要介绍 逆向双指针 的策略来解答此题 供大家参考
  • LeetCode 15. 三数之和

    文章目录 1 排序 双指针 2 对上面代码加剪枝 题目链接 https leetcode cn problems 3sum 1 排序 双指针 思路如下 对数组进行排序 枚举第一个数 n u m s i
  • LeetCode 18. 四数之和

    文章目录 1 排序 双指针 2 对上面代码加剪枝 题目链接 https leetcode cn problems 4sum 1 排序 双指针 class Solution using ll long long public vector
  • 推多米诺

    LeetCode 838 推多米诺 一行中有 N 张多米诺骨牌 我们将每张多米诺骨牌垂直竖立 在开始时 我们同时把一些多米诺骨牌向左或向右推 每过一秒 倒向左边的多米诺骨牌会推动其左侧相邻的多米诺骨牌 同样地 倒向右边的多米诺骨牌也会推动竖
  • LeetCode 125. 验证回文串

    题目链接 https leetcode cn problems valid palindrome 思路如下 双指针 一首一尾 相向扫描 每次将两个指针分别移动到下一个字母字符或数字字符 再判断这两个指针指向的字符是否相同 C 代码如下 cl
  • LeetCode 18. 四数之和 4Sum(C语言)

    题目描述 给定一个包含 n 个整数的数组 nums 和一个目标值 target 判断 nums 中是否存在四个元素 a b c 和 d 使得 a b c d 的值与 target 相等 找出所有满足条件且不重复的四元组 注意 答案中不可以包
  • 【代码随想录】双指针法刷题

    双指针法刷题 移除元素 删除有序数组中的重复项 移动零 比较含退格的字符串 有序数组的平方 反转字符串 替换空格 反转链表 递归 迭代 头插法 删除链表的倒数第 N 个节点 环形链表 快慢指针 环形链表 II 链表相交 三数之和 四数之和
  • LeetCode第125题解析

    给定一个字符串 验证它是否是回文串 只考虑字母和数字字符 可以忽略字母的大小写 说明 本题中 我们将空字符串定义为有效的回文串 示例 1 输入 A man a plan a canal Panama 输出 true 示例 2 输入 race
  • 算法:双指针

    双指针 双指针是一种思想或一种技巧并不是特别具体的算法 具体就是用两个变量动态存储两个结点 来方便我们进行一些操作 通常用在线性的数据结构中 特别是链表类的题目 经常需要用到两个或多个指针配合来记忆链表上的节点 完成某些操作 常见的双指针方
  • LeetCode_Array_42. Trapping Rain Water 接雨水【双指针】【Java】【困难】

    目录 一 题目描述 英文描述 中文描述 示例与说明 二 解题思路 三 AC代码 Java 四 解题过程 第一搏 第二搏 一 题目描述 英文描述 Given n non negative integers representing an el

随机推荐

  • 使用 mysql-5.7.35-1.el7.x86_64.rpm-bundle.tar在阿里云服务器使用CentOS 7进行安装

    使用wget https downloads mysql com archives get p 23 file mysql 5 7 35 1 el7 x86 64 rpm bundle tar下载所需的安装包 使用tar xvf mysql
  • 有关时间的相关方法(时间格式化、日期差等)

    时间格式化 将时间转化为 年 月 日 function dateFormatConversion inputTime var date new Date inputTime var y date getFullYear var m date
  • 计算机视觉学生论文,计算机视觉方面论文参考文献

    计算机视觉方面论文参考文献 发布日期 2020 12 30 所属栏目 论文发表指导 计算机视觉是一门研究如何使机器 看 的科学 更进一步的说 就是是指用摄影机和电脑代替人眼对目标进行识别 跟踪和测量等机器视觉 并进一步做图形处理 使电脑处理
  • TXRX串口通信RAM版自己编译

    引言 目前 javaxcomm 旧 gunio 新 目前rxtx 2 1 7 bins r2 zip版本为32位的win或者x86或者x386 mfz rxtx 2 2 32位 64位 rar有64位 但是不支持ARM架构的 下载sourc
  • 计算机基础操作

    1 计算机软件 计算机软件可以使计算机按照事先预定好的顺序完成特定的功能 计算机软件按照其功能划分为系统软件与应用软件 系统软件 DOC Disk Operating System Windows Linux Unix Mac Androi
  • Android 网络地址之实现检查主机名的功能

    博主前些天发现了一个巨牛的人工智能学习网站 通俗易懂 风趣幽默 忍不住也分享一下给大家 点击跳转到网站 效果演示 实现步骤 一 布局页面activity inet address xml
  • pinia的storeToRefs和普通的toRefs有啥区别

    在 Vue 3 中 pinia 是一个基于 Vue 3 的状态管理库 Pinia提供了一种类似于Vuex的方式来管理全局状态 它提供了 storeToRefs 和 toRefs 这两个函数 用于处理状态的转换 其中 storeToRefs
  • C#调用C++DLL时的编码转换-编码、字符集

    最近项目 需要在C 中调用C 写的DLL 因为C 默认的编码方式是Unicode 而调用的DLL规定只处理UTF8编码格式的字符串 DLL中的输入参数类型char 被我Marshal成byte 输出参数类型char 被我Marshal成了s
  • ZTMap是如何在相关政策引导下让建筑更加智慧化的?

    近几年随着智慧楼宇概念的深入 尤其是在 十四五规划 新基建 数字经济 等相关战略和政策的引导下 智慧楼宇也迎来了快速发展期 对推动智慧城市系统的建设越来越重要 那么究竟什么是智慧楼宇呢 智慧楼宇其实就是整合楼宇内现有信息系统的数据资源 实现
  • doris错误信息Invalid range value format

    错误信息 ERROR 1105 HY000 errCode 2 detailMessage Invalid range value format errCode 2 detailMessage date literal 2017 03 01
  • 在centos 7系统docker上构建mysql 5.7

    一 VM上已经安装centos 7 9 且已完成docker的构建 二 安装mysql5 7 安装镜像 root localhost lll docker pull mysql 5 7 查看镜像 root localhost lll doc
  • c/c++入门教程 - 3 职工管理系统 完整代码

    目录 3 职工管理系统 3 1 管理系统需求 3 2 代码 勘误 3 职工管理系统 编写示例 基于多态的企业职工系统 3 1 管理系统需求 职工管理系统可以用来管理公司内所有员工的信息 本教程主要利用C 来实现一个基于多态的职工管理系统 公
  • qt绘图Graphic 框架的使用

    由于坐标系统没学好 所以在这里先介绍一下Graphics view Graphics view 提供了一种借口 更加方便的进行图形管理 graphics view 分为三个部分 场景scene 元素item 视图 view Graphics
  • 恶意软件的检测和攻击 文献整理

    本文按照时间顺序整理了恶意软件攻防对抗 或更进一步是机器学习 深度学习的安全 近些年来的文献发表情况 希望能和对该领域感兴趣的研究人员做一个分享 有些文献我只是大概地浏览了一下 如下文有错误 请为我指出来 感激不尽 感兴趣的朋友可以在评论里
  • 第19章 服务链路追踪

    mini商城第19章 服务链路追踪 一 课题 服务链路追踪 二 回顾 1 ELK简介及部署 2 项目集成logstash收集日志 三 目标 1 理解服务链路追踪的概念及作用 2 掌握Zipkin的部署及Zipkin和ElasticSearc
  • 关于沸点

    在大一刚开学不久的时候 就听到我们下班说有一个沸点工作室 对就业很有帮助 在那个时候我就有想加入的想法 但不是很强烈 到了大一下学期 沸点招新 在经历了大一一个学期后 对我们这个专业有了更多的了解 自己也慢慢发现 就学习课本上 老师教的知识
  • 数字化时代-2:如何赚钱困惑?

    关键词 如何赚钱 赚钱的意义 思维决定命运 之前很少思考赚钱的事 不是说不缺钱 而是说 除了房子之外 需要花大钱的地方确实很少 对于物质追求比较淡薄的人来讲 青菜 米饭才是最爱 也不是说 有赚钱的机会不赚 而是 过往的经验 认知局限 以及一
  • ROS——PCL:ROS读取点云信息并显示

    一 ROS读取点云信息 首先需要准备点云信息 可以是相机实时生成的点云 也可以是自己准备好的点云文件 在本文章中 我们使用自己准备好的PCD文件 pcl io loadPCDFile home usr tottle pcd cloud 二
  • mysql1062错误: Duplicate entry '...' for key 'PRIMARY

    运行导入sql文件报错 以下是网友的博文原文转载 问题解释 Duplicate entry for key PRIMARY 即插入数据时 要插入数据的主键数据 已经存在 不能再重复添加了 例 Duplicate entry 0 for ke
  • 判断子序列(双指针做法)

    给定一个长度为 nn 的整数序列 a1 a2 ana1 a2 an 以及一个长度为 mm 的整数序列 b1 b2 bmb1 b2 bm 请你判断 aa 序列是否为 bb 序列的子序列 子序列指序列的一部分项按原有次序排列而得的序列 例如序列