博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
set
阅读量:5276 次
发布时间:2019-06-14

本文共 731 字,大约阅读时间需要 2 分钟。

 
Description
  对于给出的一串数字,求出该串中最长的连续并且每个数仅出现一次的子序列。
  
  Input
  1
  5
  1
  2
  3
  2
  1
 
 
Output
  3
 
  由于数据范围很大 0~1e9,查找到一个数遍历一遍1e9不现实,这样就需要一种快速识别这个数是否出现过的方法。
  就学习了一下set这个容器。
 
  定义好set< > s; <>里面为容器的类型。
  s.count();查找这个元素出现的次数,返回0或1。
  s.insert( )在容器中插入一个元素。
  s.erase( )删除容器当前的这个元素。

  s.begin( ) 返回set容器的第一个元素。

  s.end( ) 返回set容器的最后一个元素。

  s.clear( ) 删除set容器中的所有的元素。

  s.empty( ) 判断set容器是否为空。

  s.size( ) 当前set容器中的元素个数。
 
  对于set<int> s;的过程相当于把容器清空了一遍,因为这点wa了两次,写在循环中就通过了,也可以用s.clear()来删除。
  
#include
using namespace std;const int maxn = 1e6+5;int a[maxn];int main(){ int T,n,L,R,ans; scanf("%d",&T); while(T--){ set
s; scanf("%d",&n); for(int i=0;i

 

 

转载于:https://www.cnblogs.com/gjy963478650/p/7295709.html

你可能感兴趣的文章
P1970 花匠
查看>>
java语言与java技术
查看>>
NOIP2016提高A组五校联考2总结
查看>>
iOS 项目的编译速度提高
查看>>
table中checkbox选择多行
查看>>
Magento开发文档(三):Magento控制器
查看>>
性能调优攻略
查看>>
ie6解决png图片透明问题
查看>>
瞬间的永恒
查看>>
2019-8-5 考试总结
查看>>
JS中实现字符串和数组的相互转化
查看>>
web service和ejb的区别
查看>>
Windows Azure Cloud Service (29) 在Windows Azure发送邮件(下)
查看>>
CS61A Efficiency 笔记
查看>>
ArcGIS Server Javascript 多图对比功能
查看>>
微信上传素材返回 '{"errcode":41005,"errmsg":"media data missing"}',php5.6返回
查看>>
div或者p标签单行和多行超出显示省略号
查看>>
Elasticsearch 滚动重启 必读
查看>>
Hadoop基本概念
查看>>
java.util.zip压缩打包文件总结一:压缩文件及文件下面的文件夹
查看>>