51nod1127(尺取法)

题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1127

 

题意:中文题诶~

 

思路:尺取法

维护一个队列,若当前队首的元素在后面出现了,那么我们就将其删除,若当前队列里含有26个字母,我们就记录其size。

取所有size里面的最小值就是我们要的答案。。。

 

代码:

 1 #include <iostream>
 2 #include <stdio.h>
 3 #include <string>
 4 #include <queue>
 5 #include <string.h>
 6 #define MAXNV 30
 7 #define MAXNA 100010
 8 using namespace std;
 9 
10 int vis[MAXNV];
11 char a[MAXNA];
12 
13 int main(void){
14     int value=0, ans=MAXNA;
15     queue<char> q;
16     scanf("%s", a);
17     int len=strlen(a);
18     for(int i=0; i<len; i++){
19         q.push(a[i]);
20         if(!vis[a[i]-'A']){
21             value++;
22         }
23         vis[a[i]-'A']++;
24         while(vis[q.front()-'A']>=2){
25             vis[q.front()-'A']--;
26             q.pop();
27         }
28         if(value>=26){
29             int gg=q.size();
30             ans=min(ans, gg);
31         }
32     }
33     if(value<26){
34         cout << "No Solution" << endl;
35     }else{
36         cout << ans << endl;
37     }
38     return 0;
39 }

 

转载于:https://www.cnblogs.com/geloutingyu/p/6349973.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/270096.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Win11系统各个版本之间的比较,看完你就懂了

目录 1、Win11系统哪个版本最好&#xff1f; 2、Win11有几个版本&#xff1f; 3、Windows11不同版本的比较 Win11系统是微软全新发布的电脑操作系统&#xff0c;当然Win11有着很多的版本&#xff0c;每一个版本功能定位都有一定的差异&#xff0c;那么Win11系统哪个版本最好呢&…

息系统项目管理师知识点:区块链

信息系统项目管理师知识点&#xff1a;区块链 区块链是比特币的一个重要概念&#xff0c;比特币的底层技术&#xff0c;是一串使用密码学方法相关联产生的数据块&#xff0c;每一个数据块中包含了一次比特币网络交易的信息&#xff0c;用于验证其信息的有效性(防伪)和生成下一…

电脑:分享八个实用的电脑技巧

目录 1、会高效使用搜索&#xff0c;不要什么事都问别人。 2、要会正确下载、安装、卸载软件 3、会使用Office办公软件 4、掌握如何设置路由器、设置网络等网络技能 5、熟练使用键盘 6、定期整理自己的电脑桌面 7、定期优化自己的电脑 8、掌握一些常用的快捷键 电脑是目前从事办…

SpringMVC(十七-二十) ModelAttribute 注解

有点难理解。 修饰方法是表示在该控制器的所有目标方法执行前都执行该modelattribute注解的方法。 修饰参数是表示什么&#xff1f;修饰参数时modelattributes(value"xxxx") User user 中的value值需要和modelattribute修改的方法加入的键的值一致。 Controller Cod…

硬件知识:U盘缩水是怎么回事,如何恢复U盘真实容量?

使用缩水的U盘会造成什么后果呢&#xff1f;使用缩水U盘拷贝资料&#xff0c;很有可能造成重要资料文件的丢失&#xff0c;同时“无限制”拷贝资料&#xff0c;造成不可预知的错误。那要怎么办呢&#xff1f;其实最有效方法就是还原缩水U盘真实容量&#xff0c;这样在拷贝资料时…

我知道我要在这条路上走下去。 我不知道我能走多远&#xff0c;能走到什么程度。 所以&#xff0c;在我还尚未开始之时&#xff0c;留下一笔。 也给此后的&#xff0c;若想要放弃的日子&#xff0c;一点勇气。 若有一天&#xff0c;我能站在高一点的地方向下看&#xff0c;我定…

网络知识:内网、外网、宽带、带宽、流量、网速之间的联系?

相信很多人都不知道内网、外网、宽带、带宽、流量、网速之间的区别与联系&#xff0c;今天小编给大家介绍一下&#xff0c;希望对大家能有所帮助&#xff01; 一.带宽与宽带的区别是什么&#xff1f; 带宽是量词&#xff0c;指的是网速的大小&#xff0c;比如1Mbps的意思是一兆…

马云正传——读书笔记

总结 网上有人说&#xff0c;马云是靠忽悠起家的&#xff0c;之前也是半信半疑&#xff0c;毕竟对他了解的不多&#xff0c;直到看了这本书&#xff0c;才对马云才有了比较深的理解。至于忽悠也不能说完全没有&#xff0c;但如果说全靠忽悠&#xff0c;那是不可能的&#xff0c…

Java技术:SpringBoot实现邮件发送功能

目录 1、创建一个基本的SpringBoot项目&#xff0c;pom文件导入发送邮件的依赖 2、application.yml 文件配置配置邮件发送信息 3、创建IEmailService 接口文件&#xff0c;定义邮件发送的接口 4、创建IEmailService接口的实现类EmailService.java 文件 5、新建邮件发送模板 ema…

电脑技巧:Win10无线投屏功能介绍

Win10操作系统可以将电脑中的内容投屏到其他显示设备&#xff0c;比如将电脑屏幕投屏到电视上&#xff0c;这是通过Miracast技术来实现的。其实Win10电脑自身也可以作为被投屏的那一方&#xff01;比如可以将手机屏幕投屏到电脑屏幕上去&#xff0c;方便给客户演示APP功能或者将…

电脑技巧:Win10系统中的这六种模式介绍

目录 1. 夜间模式 2. 游戏模式 3. 飞行模式 4. 卓越模式 5. 专注模式 6. 平板模式 在Win10中&#xff0c;隐藏着很多不为人知的小秘密。有些小功能虽然看起来不起眼&#xff0c;但关键时候却能让我们的Win10跑得更爽&#xff0c;比如win10中六种不同的模式&#xff0c;该什么时…

php 常用的系统函数

字符串函数 strlen&#xff1a;获取字符串长度&#xff0c;字节长度 substr_count 某字符串出现的次数 substr&#xff1a;字符串截取&#xff0c;获取字符串&#xff08;按照字节进行截取&#xff09; mb_strlenmb_substr strchr&#xff1a;与substr相似&#xff0c;从指定位…

电脑卡顿,最先升级这个硬件,运行速度可快速提升

电脑用着用着就变慢了&#xff0c;不少人为之苦恼。有钱的人儿早早换上了新电脑&#xff0c;没钱的人儿仍然在苦苦地支撑着~ 但是&#xff0c;电脑卡顿就跟汽车变速箱坏了一样&#xff0c;我们可以为其更换零件&#xff0c;从而“治好了”它&#xff0c;使用寿命不就延长了吗&a…

Java技术:SpringBoot集成FreeMarker生成word文件

今天给大家分享SpringBoot集成FreeMarker模板引擎生成word文件的用法&#xff0c;感兴趣的可以学一下&#xff0c;完整源码地址在文章末尾处&#xff0c;欢迎互相沟通交流&#xff01; 一、什么是FreeMarker&#xff1f; FreeMarker 是一款开源的模板引擎&#xff1a;是一种基于…