牛客挑戰賽23-A.字串(尺取)
小N現在有一個字串S。他把這這個字串的所有子串都挑了出來。一個S的子串T是合法的,當且僅當T中包含了所有的小寫字母。小N希望知道所有的合法的S的子串中,長度最短是多少。
輸入描述:
一行一個字串S。只包含小寫字母。S的長度不超過106.
輸出描述:
一行一個數字,代表最短長度。資料保證存在一個合法的S的子串。
示例1
輸入
ykjygvedtysvyymzfizzwkjamefxjnrnphqwnfhrnbhwjhqcgqnplodeestu
輸出
49
思路:看了一眼題目,大致想了一下,沒有動手寫,大概是2個指標標記,一個在前標記種類,到達26種便停下,因為後面的就可以不要了。前面的指標,在遇到重複的字元時進行及時更新與前進。然後這個方法居然就是傳說中的尺取法........
程式碼如下:
#include<set>
#include<map>
#include<list>
#include<deque>
#include<cmath>
#include<queue>
#include<stack>
#include<string>
#include<vector>
#include<stdio.h>
#include<sstream>
#include<stdlib.h>
#include<string.h>
//#include<ext/rope>
#include<iostream>
#include<algorithm>
#define pi acos(-1.0)
#define INF 0x3f3f3f3f
#define per(i,a,b) for(int i=a;i<=b;++i)
#define max(a,b) a>b?a:b
#define min(a,b) a<b?a:b
#define LL long long
#define swap(a,b) {int t=a;a=b;b=t}
using namespace std;
//using namespace __gnu_cxx;
const int maxn=1e6+7;
int vis[26];
int n,s,k;
int main()
{
string s1;
cin>>s1;
s=0x3f3f3f3f;
int n=s1.size();
per(i,1,n)
{
int t=s1[i-1]-'a';
if(vis[t]==0) k++;//注意,考慮第0個元素vis更新為0的情況
vis[t]=i;
if(k==26)
{
int z=0;
per(j,0,25)
z=max(z,i-vis[j]+1);
s=min(s,z);//不能直接跳出,需要迴圈完每一個子串
}
}
cout<<s;
return 0;
}
相關文章
- 牛客挑戰賽72 總結
- 牛客小白月賽88
- 牛客小白月賽89
- 挑選方案問題(牛客競賽 思維題+推導公式)公式
- xss挑戰賽writeup
- 牛客小白月賽88 (小白來了)
- 阿里雲IoT將舉辦第三屆極客創新挑戰賽 吸引全球極客參賽阿里
- 記微軟OpenHack機器學習挑戰賽微軟機器學習
- 牛客網字串排序程式設計題字串排序程式設計
- nowcoder 牛客練習賽9 B
- 牛客小白月賽88-DE題解
- 牛客小白月賽88 出題覆盤
- 雲原生程式設計挑戰賽火熱開賽,51 萬獎金等你來挑戰!程式設計
- 無聲杯 xss 挑戰賽 writeup
- SegmentFault 思否面試闖關挑戰賽!面試
- 天池FashionAI全球挑戰賽小小嚐試AI
- 快來參加學習.NET 挑戰賽
- 全國高校計算機能力挑戰賽 Java計算機Java
- 牛客練習賽40 B 小A與任務(貪心)
- 牛客程式設計巔峰賽S2第11場程式設計
- 集結,極客少年!vivo千鏡杯網路安全挑戰賽報名正式開啟!
- [原創]乾貨 | 雲安全挑戰賽線上熱身賽冠軍戰隊解題分享
- 第二屆學習影象壓縮挑戰賽
- 新加坡政府將舉辦區塊鏈挑戰賽區塊鏈
- Polar【2024春季個人挑戰賽】—— Crypto
- 第五季極客大挑戰writeup
- [極客大挑戰 2019]hardSQLSQL
- 騰訊2021LIGHT公益創新挑戰賽賽題分析
- 「 C++挑戰賽 」下週開始,最特別的程式設計題目等你挑戰!C++程式設計
- 社群Task挑戰賽開啟,階梯式任務等你來戰
- 挑戰程式設計競賽選讀-選擇排序程式設計排序
- 世界銀行發起AI救災挑戰賽AI
- 書生安全雲發起安全技術挑戰賽
- 【週週有獎】雲原生程式設計挑戰賽“邊緣容器”賽道邀你來戰!程式設計
- 2021華為軟體精英挑戰賽總結(粵港澳賽區複賽第7)
- [極客大挑戰 2019]Http wpHTTP
- [極客大挑戰 2019]PHP 1PHP
- 一不小心晉級“CCF國際AIOps挑戰賽”決賽AI