每日一題 字串

2021-10-14 12:02:03 字數 1006 閱讀 1710

題目描述

小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注意 輸入的字...