描述

使用STL中的search函数,判断一个序列是否是另一个序列的子序列。

部分代码已经给出,请补充完整,提交时请勿包含已经给出的代码。

int main()
{
vector<int> vec1, vec2;
int n, m, a;
cin>>n>>m;
while(n--)
{
cin>>a;
vec1.push_back(a);
}
while(m--)
{
cin>>a;
vec2.push_back(a);
}
Check(vec1, vec2);
return 0;
}

输入

第一行为一个正整数n和m,n和m为元素个数(n<=1000)。

第二行有n个整数,表示序列1的所有元素。

第三行有m个整数,表示序列2的所有元素。

输出

如果序列2是序列1的子序列,则输出所在子序列的始末位置。

否则输出None。

样例输入

5 2
1 3 2 4 5
3 2

样例输出

2 3

#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
void Check(vector<int > &vec1,vector<int> &vec2)
{
vector<int >::iterator iter1,iter2;
int k=;
for(iter2=vec2.begin();iter2!=vec2.end();iter2++)
k++;
iter1=search(vec1.begin(),vec1.end(),vec2.begin(),vec2.end());
if(iter1!=vec1.end()) cout<<int(iter1-vec1.begin())+<<" "<<int(iter1-vec1.begin())+k<<endl;
else cout<<"None"<<endl;
}
int main()
{
vector<int> vec1, vec2;
int n, m, a;
cin>>n>>m;
while(n--)
{
cin>>a;
vec1.push_back(a);
}
while(m--)
{
cin>>a;
vec2.push_back(a);
}
Check(vec1, vec2);
return ;
}

STL之search的更多相关文章

  1. stl binary search

    stl binary search */--> pre { background-color: #2f4f4f;line-height: 1.6; FONT: 10.5pt Consola,&q ...

  2. leetcode@ [34] Search for a Range (STL Binary Search)

    https://leetcode.com/problems/search-for-a-range/ Given a sorted array of integers, find the startin ...

  3. C++ STL Binary search详解

    一.解释 以前遇到二分的题目都是手动实现二分,不得不说错误比较多,关于返回值,关于区间的左闭右开等很容易出错,最近做题发现直接使用STL中的二分函数方便快捷还不会出错,不过对于没有接触过的同学,二分函 ...

  4. c++ STL find search

    #include <iostream>#include <algorithm>#include <deque>#include <list>#inclu ...

  5. STL 简介,标准模板库

    这篇文章是关于C++语言的一个新的扩展--标准模板库的(Standard Template Library),也叫STL.  当我第一次打算写一篇关于STL的文章的时候,我不得不承认我当时低估了这个话 ...

  6. STL中list用法

    本文以List容器为例子,介绍了STL的基本内容,从容器到迭代器,再到普通函数,而且例子丰富,通俗易懂.不失为STL的入门文章,新手不容错过! 0 前言 1 定义一个list 2 使用list的成员函 ...

  7. STL list链表的用法详解

    本文以List容器为例子,介绍了STL的基本内容,从容器到迭代器,再到普通函数,而且例子丰富,通俗易懂.不失为STL的入门文章,新手不容错过! 0 前言 1 定义一个list 2 使用list的成员函 ...

  8. list用法详解

    在这里感谢大牛们的奉献!此致敬礼! 本文转载自百度文库.作者如下.其中下面的count, count_if等函数的使用有些陈旧,如在编译时遇到问题,请百度. 标准模板库(STL)介绍 作者:Scott ...

  9. AwesomePerfCpp 性能优化

    Contents Talks Articles Sites/Blogs Tools Libraries Books About Talks 2013: Going Native 2013 - Andr ...

随机推荐

  1. codeforces 1077F1

    题目:https://codeforces.com/contest/1077/problem/F1 题意: 你有n幅画,第i幅画的好看程度为ai,再给你两个数字k,x 表示你要从中选出刚好x幅画,并且 ...

  2. git上传本地项目

    1.(先进入项目文件夹)通过命令 git init 把这个目录变成git可以管理的仓库 git init 2.把文件添加到版本库中,使用命令 git add .添加到暂存区里面去,不要忘记后面的小数点 ...

  3. Join an instance to my AWS Directory Service domain

    https://amazonaws-china.com/cn/premiumsupport/knowledge-center/ec2-systems-manager-dx-domain/ https: ...

  4. Spring学习-- IOC 容器中 bean 的生命周期

    Spring IOC 容器可以管理 bean 的生命周期 , Spring 允许在 bean 声明周期的特定点执行定制的任务. Spring IOC 容器对 bean 的生命周期进行管理的过程: 通过 ...

  5. vue+koa+mysql简易demo

    功能支持网址收藏编辑 代码: https://github.com/lanleilin/lanOdyssey/tree/master/vueKoa/webCollection1 运行方法: 在serv ...

  6. 【BZOJ3700】发展城市 [LCA][RMQ]

    发展城市 Time Limit: 20 Sec  Memory Limit: 512 MB[Submit][Status][Discuss] Description 众所周知,Hzwer学长是一名高富 ...

  7. Linux 开机自动挂载windows分区

    blkid 查看 uuid如下ps:或者使用uuidgen <设备>查看具体设备的uuidreddusty@reddusty-X550JK:~$ sudo blkid[sudo] pass ...

  8. Launcher3自定义壁纸旋转后拉伸无法恢复

    MTK8382/8121平台. 描述:将自定义图片设置成壁纸后,横屏显示时,旋转为竖屏,图片由于分辨率过小,会拉伸:再旋转为横屏,拉伸不恢复. 这两天正在解这个问题,研究了很久,走了不少弯路,最后发现 ...

  9. windows下tortoiseGit安装和使用

    一.安装git for windows 首先下载git for windows客户端http://msysgit.github.io/ 安装过程没什么特别的,不停next就ok了     图太多就不继 ...

  10. 【转载】Synflood code

    ''' Syn flood program in python by Tequila/e credits to Silver Moon for base's of syn packets. r s s ...