博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
51nod1127(尺取法)
阅读量:4308 次
发布时间:2019-06-06

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

题目链接:

 

题意:中文题诶~

 

思路:尺取法

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

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

 

代码:

1 #include 
2 #include
3 #include
4 #include
5 #include
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
q;16 scanf("%s", a);17 int len=strlen(a);18 for(int i=0; i
=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

你可能感兴趣的文章
Lock重入锁
查看>>
docker安装 rabbitMq
查看>>
git 常用命令 入门
查看>>
关闭selinx nginx无法使用代理
查看>>
shell 脚本部署项目
查看>>
spring cloud zuul网关上传大文件
查看>>
springboot+mybatis日志显示SQL
查看>>
工作流中文乱码问题解决
查看>>
maven打包本地依赖包
查看>>
spring boot jpa 实现拦截器
查看>>
jenkins + maven+ gitlab 自动化部署
查看>>
Pull Request流程
查看>>
Lambda 表达式
查看>>
函数式数据处理(一)--流
查看>>
java 流使用
查看>>
java 用流收集数据
查看>>
java并行流
查看>>
CompletableFuture 组合式异步编程
查看>>
mysql查询某一个字段是否包含中文字符
查看>>
Java中equals和==的区别
查看>>