題目描述
小n現在有乙個字串s。他把這這個字串的所有子串都挑了出來。乙個s的子串t是合法的,當且僅當t中包含了所有的小寫字母。小n希望知道所有的合法的s的子串中,長度最短是多少。
輸入描述:
一行乙個字串s。只包含小寫字母。s的長度不超過1e6.
輸出描述:
一行乙個數字,代表最短長度。資料保證存在乙個合法的s的子串。
題解
取尺法,定義l,r,向前列舉l,判斷是否滿足,如果不滿足,將r向前移動,直到滿足為止,
就是每次取一段,判斷,然後記錄最小答案。
**
#includeusing namespace std;
#define fi first
#define se second
#define pb push_back
#define mp make_pair
#define lowbit(x) x&(-x)
typedef long long ll;
typedef pairpii;
typedef pairpll;
const int n = 1e5+5;
const ll mod = 1e9+7;
const int inf = 0x3f3f3f3f;
const double eps =1e-9;
const double pi=acos(-1.0);
const int dir[4][2]=;
const int exdir[4][2]=;
ll qpow(ll x,ll y)
return ans%mod;
}int a[26];
int check()
return 1;
}void solve()
每日一題 字串解碼
題目描述 給定乙個經過編碼的字串,返回它解碼後的字串。編碼規則為 k encoded string 表示其中方括號內部的 encoded string 正好重複 k 次。注意 k 保證為正整數。你可以認為輸入字串總是有效的 輸入字串中沒有額外的空格,且輸入的方括號總是符合格式要求的。此外,你可以認為...
每日一題 字串相加(C )
題目描述 給定兩個字串形式的非負整數 num1 和num2 計算它們的和。1.num1 和num2 的長度都小於 5100 2.num1 和num2 都只包含數字 0 9 3.num1 和num2 都不包含任何前導零 4.你不能使用任何內建 biginteger 庫,也不能直接將輸入的字串轉換為整數...
Leedcode 每日一題 字串的排序
給定兩個字串s1和s2,寫乙個函式來判斷s2是否包含s1的排列。換句話說,第乙個字串的排列之一是第二個字串的子串。示例1 輸入 s1 ab s2 eidbaooo 輸出 true解釋 s2 包含 s1 的排列之一 ba 示例2 輸入 s1 ab s2 eidboaoo 輸出 false注意 輸入的字...