描述
给你一个长度为n的数字串,数字串里会包含1-m这些数字。如果连续的一段数字子串包含了1-m这些数字,则称这个数字字串为NUM串。你的任务是求出长度最短的NUM串是什么,只需要输出这个长度即可。
输入
输入数据有多组
第一行给定n和m。 (1<=n,m<=100000)
第二行n个数,表示数字串,数字间用空格隔开。
输出
如果存在NUM串则输出最短NUM串长度,否则输出"NO"。
样例输入
5 3
1 2 2 3 1
样例输出
3

C++水过

C++ code

 1 # include<iostream>
 2 using namespace std;
 3 int main()
 4 {
 5     int n,m,i,ap,j,l;
 6     int a[200001],b[200001];
 7     cin>>n>>m;
 8     for (int i=1;i<=n;i++) cin>>a[i];
 9     ap=1;
10     i=1;
11     b[a[i]]=1;
12     l=2147483647;
13     for(j=2;j<=n;j++)
14     {
15                      if(b[a[j]]==0)ap++;
16                      b[a[j]]++;
17                      while(b[a[i]]>1)
18                      {
19                                      b[a[i]]--;
20                                      i++;
21                      }
22                      if ((ap==m)&&(l>j-i+1))l=j-i+1;  
23 
24    } 
25    if (l==2147483647) cout<<"NO"<<endl;
26    else cout<<l<<endl;
27    return 0;
28 }

转载于:https://www.cnblogs.com/shy-/archive/2012/06/30/2570930.html

[0630]Tyvj 1063 数字串相关推荐

  1. 算法题解:对于输入数字串,给出另一种数字排列,使得字典序增加尽可能小...

    题目分析 题目链接:31. Next Permutation 这题让我们找到比输入数字排列恰好大一点点的数字排列.对这个问题的算法不仅适用于数字串,而且适用于任何有字典序的符号串. 为了方便讨论,我们 ...

  2. ping 用数字串代替IP地址

    Ping命令,大家都比较熟悉,它常被用来测试局域网的连通状态."Ping+IP地址"是大家最常用的一种命令格式,但大家是否注意过Ping命令中的IP地址呢?这里面可是有很多学问和讲 ...

  3. 计算最长公共数字串个数

    一.华为OJ题目(计算最长公共数字个数) 样例输出 输出123058789,函数返回值9 输出54761,函数返回值5 接口说明 函数原型: unsignedint Continumax(char** ...

  4. 找出连续最长数字串python_字符串中找出连续最长的数字字符串的实例代码

    //1. 写一个函数,它的原形是int continumax(char *outputstr,char *intputstr) //功能: //在字符串中找出连续最长的数字串,并把这个串的长度返回, ...

  5. 《好未来编程题》字符串中找出连续最长的数字串

    题目:读入一个字符串str,输出字符串str中的连续最长的数字串 输入描述: 个测试输入包含1个测试用例,一个字符串str,长度不超过255. 输出描述: 在一行内输出str中里连续最长的数字串. 示 ...

  6. java中实现将一个数字字符串转换成逗号分隔的数字串, 即从右边开始每三个数字用逗号分隔

    源代码如下: /*将一个数字字符串转换成逗号分隔的数字串,即从右边开始每三个数字用逗号分隔 */public static void testFenGeNumber(){String number = ...

  7. 计算机存储数字,数字串在计算机内的表示与存储

    数字串在计算机内的表示与存储 人们习惯使用10进制数,而在计算机内,采用二进制表示和处理数据更方便.因此,在计算机输入和输出数据时,要进行十→二和二→十的进制转换处理,这是多数应用环境中的实际情况.而 ...

  8. 小红书面试题——paddingNum,用逗号分割数字串

    paddingNum 额,这名字不是我命名的,但是也挺形象的吧,那就叫 paddingNum 吧 题目是这样的 将数字串分割,每隔3位用逗号隔开 eg: 1234 => 1,234; eg: 1 ...

  9. 1tensorflow 实现端到端的OCR:二代身份证号识别 + 2tensorflow LSTM+CTC实现端到端的不定长数字串识别

    1tensorflow 实现端到端的OCR:二代身份证号识别 链接地址:https://www.jianshu.com/p/803642d0d8f8 2tensorflow LSTM+CTC实现端到端 ...

最新文章

  1. linux学习之yum命令的使用
  2. 为什么LeNet5网络倒数第二个全连接层维度为84?
  3. Kubernetes 如何打赢容器之战?
  4. python os模块system_Python如何使用OS模块调用cmd
  5. java weblogic 配置_java----weblogic部署应用
  6. tensorflow实现回归
  7. 简单选择排序算法 (JAVA)
  8. sql 2008 每次打开一个表都要登录_如何实现一个简易的orm
  9. 英特尔面向网络及边缘推出至强D系列处理器
  10. 清华大学老师的一席话——还是有点道理的
  11. HDU - 2586 - How far away ? (最短路)
  12. adsl双网卡共享上网的设置(win2003)
  13. urp教务系统简单利用
  14. Matlab 仿真——直流电机速度控制(5)通过频域分析进行控制器设计
  15. 一楼到十楼的每层电梯门口都放着一颗钻石,钻石大小不一。你乘坐电梯从一楼到十楼,每层楼电梯门都会打开一次,只能拿一次钻石,问怎样才能拿到最大的一颗?
  16. 没中奖的花花卡不要扔,还有用!
  17. 【Debug】UserWarning: size_average and reduce args will be deprecated, please use reduction=‘sum‘
  18. 如何用一个IPad屏幕适配各尺寸的IPhone
  19. HTML强制视频倍速,强行网页视频倍速播放
  20. 卷积神经网络(CNN)的参数优化方法

热门文章

  1. Taro+react开发(96):问答模块03
  2. 前端学习(3186):ant-design的button介绍按钮属性
  3. 前端学习(3016):vue+element今日头条管理--总结
  4. [css] ui设计中px、pt、ppi、dpi、dp、sp之间的关系?
  5. [js] pjax和ajax的区别是什么?
  6. “约见”面试官系列之常见面试题之第八十四篇之手写promise(建议收藏)
  7. “约见”面试官系列之常见面试题之第七十篇之==和===(建议收藏)
  8. “约见”面试官系列之常见面试题之第四十五篇CSS优先级(建议收藏)
  9. “约见”面试官系列之常见面试题第二十九篇之Vue和React的区别
  10. 前端学习(1653):前端系列实战课程之常见各种窗口