就是乙個字串分割問題,盡可能分到最小並且一種字元只能出現在乙個子字串
例如:abac —>> aba 和 c
輸出:3 1 (每個子串的長度)
注意:要求盡可能短的分割
例如:abacde 不可分割為aba cde 要分割為aba c d e
#include
#include
#include
using
namespace std;
intmax
(int a,
int b)
;void
resolve
(string s, vector<
int>
& ret)
;int
main()
void
resolve
(string s,vector<
int>
&ret)
//設l和r兩個指標
int l =0;
int r = alpha[s[l]
-'a'];
while
(l <
(int
) s.
length()
)//將每個子串的長度寫入容器
ret.
push_back
(l - l0 +1)
; l++;}
}int
max(
int a,
int b)
int l =0;
int r = alpha[s[l]
-'a'
];
r =
max(r, alpha[s[l]
-'a'])
;
每日一題 字串
題目描述 小n現在有乙個字串s。他把這這個字串的所有子串都挑了出來。乙個s的子串t是合法的,當且僅當t中包含了所有的小寫字母。小n希望知道所有的合法的s的子串中,長度最短是多少。輸入描述 一行乙個字串s。只包含小寫字母。s的長度不超過1e6.輸出描述 一行乙個數字,代表最短長度。資料保證存在乙個合法...
每日一題 字串解碼
題目描述 給定乙個經過編碼的字串,返回它解碼後的字串。編碼規則為 k encoded string 表示其中方括號內部的 encoded string 正好重複 k 次。注意 k 保證為正整數。你可以認為輸入字串總是有效的 輸入字串中沒有額外的空格,且輸入的方括號總是符合格式要求的。此外,你可以認為...
每日一題 字串相加(C )
題目描述 給定兩個字串形式的非負整數 num1 和num2 計算它們的和。1.num1 和num2 的長度都小於 5100 2.num1 和num2 都只包含數字 0 9 3.num1 和num2 都不包含任何前導零 4.你不能使用任何內建 biginteger 庫,也不能直接將輸入的字串轉換為整數...