Unique Snowflakes(2021-TRN1-M)

打完此题查了一下,居然是uva的题目。。。
更没有想到这种题目有固定方法。。。看的书还是嫌少了。

题目大意

传送门
大意只有一句话:给你一个长度为n的数组,在里面找一个尽可能长的一段,使得这一段中所有数字都不同。

题目分析

我自己凭感觉探索出的思路居然和固定套路想法有亿点点相似(不完全同)
然而由于写的过于的拙劣,所以还是要分析学习一下固定套路~

对于该类段查找问题可以采用经典的滑动窗口方法,即维护一个窗口,窗口的左右边界用两个变量L,R代表,先增加R直到出现重复数字,再增加L,再增加R,直到R达到n
https://www.cnblogs.com/aze-003/p/5113562.html(这位大佬写的挺清楚)

简要来说,我们可以认为要维护两个指针left和right,一个指向取出的一段数列的首段,一个指向末端(维护方法如引用中)。用set保存已经读入的数据(一边读入一遍right++),这样的好处是:如果读到的数字重复了,可以快速知晓(我还用了个pair,链接里用到了count更方便一点)
然后删除掉那个重复出现的元素(这就要移动left)

拙劣的代码如下

#include <bits/stdc++.h>using namespace std;
const int maxn=1e6+5;
set<int>myset;
int a[maxn];
int main()
{int t;scanf("%d",&t);while(t--){myset.clear();int n;scanf("%d",&n);int i,num;int left,right,cnt=0;right=left=1;for(i=1;i<=n;i++){scanf("%d",&num);pair<set<int>::iterator,bool> ret;ret=myset.insert(num);a[i]=num;if(ret.second==false)///如果插入不成功 ret的第二项是false{cnt=max(cnt,right-left);//myset.erase(num);while(a[left]!=num){myset.erase(a[left]);left++;}left++;}else{cnt=max(cnt,right-left+1);///这里的加1是编程实现需要,可以有更好的实现方式}right++;}printf("%d\n",cnt);}return 0;
}

(虽然过于拙劣依然贴了出来)
思路也许是对了,但是毕竟写的不够行云流水。还是书看的太少了。。。不要学我,一定要去看标准模板。。。

Unique Snowflakes(2021-TRN1-M)相关推荐

  1. 推进大数据中心新能源应用 广东省六部门联合印发培育新能源战略性新兴产业集群行动计划(2021—2025年)...

    9月29日,广东省发改委.能源局.科技厅.工信厅以及省自然资源厅.省生态环境厅联合印发<广东省培育新能源战略性新兴产业集群行动计划(2021-2025年)>.行动计划中指定的新能源产业领域 ...

  2. 面经——小米面经(2021春招)

    摘自:小米面经(2021春招)--感谢小米.感谢雷总.感谢上官可编程 作者:阿波罗啦啦啦啦 发布时间: 2021-05-01 11:08:41 网址:https://blog.csdn.net/wei ...

  3. 《天际友盟DRP数字风险防护报告(2021年上半年)》重磅发布

    今天,数字化正在发生,整个社会正在步入数字化革新.根据市场研究公司IDC的预测,到2023年超过50%的全球经济将由数字经济所驱动.在中国,2021-2024数字化转型总支出将达到1.5万亿美元,年均 ...

  4. 零基础带你学习MySQL—unique 唯一(二十五)

    零基础带你学习MySQL-unique 唯一(二十五) unqiue 使用细节 如果没有指定 not null 则 unique 字段可以有多个 null 如果一个列(字段) 是 unique not ...

  5. 读论文——Pre-Training with Whole Word Masking for Chinese BERT(2021 11.25)

    第一遍 标题以及作者(2021 11.25) 摘要 本文基于BERT,在RoBERTa上进行一系列改进,提出了用于中文的预训练模型MacBERT. 提出了一种新的掩码策略,MLM as correct ...

  6. 《郑州市数据中心产业发展规划(2021—2025年)》发布

    10月25日,为支撑数字经济发展和数字郑州建设,郑州市政府印发了<郑州市数据中心产业发展规划(2021-2025年)>(以下简称<规划>). <规划>提出,到202 ...

  7. 市面上主流编辑器介绍(2021/05/20)

    市面上主流编辑器介绍(2021/05/20) 背景 Markdown是一种有用的轻量级标记语言,后续Markdown简写为md. 富文本编辑器(Rich Text Editor,RTE)是一种可内嵌于 ...

  8. 知网根据作者及单位检索文献汇总到Excel(2021.6.9)

    依据作者及单位在知网检索文献汇总至Excel 实践(2021.6.9) 1.知网依据作者及单位检索文献 1.1 检索实例(29条结果) 1.1.1 20个页面每页显示20条检索结果 1.1.2 1个页 ...

  9. 《中华人民共和国消防法》(2021年修订版)解读

    <中华人民共和国消防法>(2021年修订版)解读 总分:100 及格分数:60 考试剩余时间: 1时 53分 08秒 窗体顶端 单选题(共7题,每题5分) 1.举办大型群众性活动,承办人应 ...

最新文章

  1. Erlang的边界检查(3)
  2. Python应用实战案例-Python实现K线图绘制
  3. spring cloud 概念
  4. spring boot拦截器中获取request post请求中的参数(转)
  5. 老司机带你重构Android的v4包的部分源码
  6. Eclipse to android
  7. K2评分方法理解实例
  8. Android P 开发者预览版
  9. CUDA的线程层次结构
  10. 将Visual Studio Code和Windows Subsystem for Linux一起使用
  11. gradle for androidstudio 各版本下载地址
  12. Unity 获得某个物体的主贴图
  13. java 元胞自动机_元胞自动机 Java实现
  14. matlab 并联机械臂_MATLAB机械臂的两种路径规划
  15. 绕过360实现lsass转储
  16. 视频伪原创消重 抖音视频md5修改在线
  17. Pr学习笔记——添加字幕流
  18. excel启动时显示“操作系统当前的配置不能运行此应用程序”
  19. Excel函数带你看透身份证号
  20. 无FTTR不千兆,华为星光F30让家中不再有“隐秘的角落”

热门文章

  1. CPU是怎么实现运算的
  2. python+pandas +requests+json 向金蝶云星空导入基础资料(物料编码)
  3. 防火墙阻断扫描设备_记一次故障排查
  4. Functional Mechanism: Regression Analysis under Differential Privacy
  5. 163个人邮箱忘记密码找回有几种方法
  6. 吴翰清讲web安全--安全概述
  7. 中国象棋程序的设计与实现(一)--项目截图
  8. 想自学写个操作系统,有哪些推荐看的书籍?
  9. 浅谈Linux media framework
  10. redis的cluster集群模式