div.2/C. They Are Everywheretwo pointer
题意:
给出包含n (3<=n<=100000)个字符的字符串,计算出包含所有类型字符的最小区间长度。
题解:
Two pointer.注意区间的处理。
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
const int maxn=100000+100;
char s[maxn];
int vis[1000+10];
int l=0,r=0,num=0;
int n,ty=0;
int Find(char t,int pos)//向右查找所需要的字符
{for(;pos<n;pos++){if(s[pos]==t){vis[s[pos]]++;return pos;}vis[s[pos]]++;}return 0;
}
int main ()
{scanf("%d",&n);scanf("%s",s);for(int i=0;i<n;i++)//计算字符的种类{if(vis[s[i]]==0)ty++;vis[s[i]]++;}memset(vis, 0, sizeof(vis));for(int i=0;i<n;i++)//寻找起始区间{if(vis[s[i]]==0)num++;vis[s[i]]++;if(num==ty){r=i;break;}}int ans=r+1;for(int i=0;i<n;i++){if(vis[s[i]]>1){vis[s[i]]--;}else{ans=min(ans,r-i+1);int p=Find(s[i],r+1);if(p==0)break;else{r=p;vis[s[i]]--;ans=min(ans,r-i);}}}printf("%d\n",ans);return 0;
}
转载于:https://www.cnblogs.com/pealicx/p/6115618.html
div.2/C. They Are Everywheretwo pointer相关推荐
- css怎样使鼠标移到div上显示手型
新建一个html文件,命名为test.html,用于讲解css怎样使鼠标移到div上显示手型. 在test.html文件内,创建一个div模块,下面将使用css设置该div的样式,实现鼠标移到div上 ...
- div鼠标放上去会变成小手样式
css变小手样式 欢迎来到我的博客,我很开心. 在div的样式上加cursor:pointer;这个就搞定了,希望对你有帮助.
- Ajax弹出式无刷新城市选择特效
为什么80%的码农都做不了架构师?>>> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional// ...
- 037_Dropdown下拉菜单
1. Dropdown下拉菜单 1.1. Dropdown下拉菜单将动作或菜单折叠到下拉菜单中. 1.2. Dropdown Attributes 参数 说明 类型 可选值 默认值 type 菜单按钮 ...
- 访问Mat中每个像素的值
Color Reduce 还是使用经典的Reduce Color的例子,即对图像中的像素表达进行量化.如常见的RGB24图像有256×256×256中颜色,通过Reduce Color将每个通道的像素 ...
- opencv图像处理常用完整示例代码总结
显示图像 #include "StdAfx.h" #include <string> #include <iostream> #include <op ...
- opencv图像处理总结
opencv图像处理基本操作 1. 矩阵数据类型 通用矩阵数据类型: CV_<bit_depth>(S|U|F)C<number_of_channels> 其中,S表示带符号整 ...
- 一个网页菜单的CSS代码分析
一个绿色网页菜单,效果如下,网上可下载到该资源: 下面研究其css代码:这是一个比较复杂的菜单:可学到很多东西: /* menu::base */ div#menu {height: 46px;pad ...
- 超详细轮播图的三种实现方法html+css+javascript
对代码不理解的可以参考我的个人视频 https://www.bilibili.com/video/BV1jA411Y7Ek/ 1.带箭头焦点轮播图js完成版 1.1 html部分 <!DOCTY ...
最新文章
- restful url 设计规范_RESTful API接口设计规范
- 解题报告 『生活大爆炸版石头剪刀布(模拟)』
- 病毒研究之感染linux脚本
- java 查询表 并返回数据_ajax与java前后台传值及数据表查询解决一个bug的问题
- Confluence 6 升级完成后的检查
- sjms-1 面向对象
- C# 设计模式,工厂方法
- 屏幕录像软件Bandicam和oCam
- 回家了,写博文继续!
- DM8168 unrecoverable error: OMX_ErrorBadParameter (0x80001005) [resolved]
- linux学习笔记:shell变量
- 十进制小数转换为R进制小数
- IP地址,子网掩码,网关三者的关系和作用
- 把 VS Code 打造成 Java 开发 IDE,也挺爽!
- bat批处理删除文件
- 用TensorFlow训练一个物体检测器(手把手教学版)
- ORA-28000账户被锁和解锁
- 手机怎么裁剪视频尺寸简单?推荐给你这两个裁剪方法
- 把.app文件打包ipa 利用Payload 打包ipa
- 【内网学习笔记】9、iodine 使用
热门文章
- Collaborative topic modeling(推荐)算法实现中的大数组问题
- 包管理器Bower使用手册之一
- 图的最小生成树(Prim算法)
- 主成分分析(PCA)方法
- HTML 元素和属性--备份
- Android编译系统简要介绍和学习计划
- html请求接口_软件测试学习教程——LoadRunner实现接口测试
- java antd实现登录,AntDesign(React)学习-4 登录页面提交数据简单实现
- java响应式网页设计_基于HTML5的响应式网站的设计与实现(论文).docx
- html条件查询的页面,如何在 url 中记录页面搜索条件