希望的每日一題(字串分割)

2021-10-10 16:04:31 字數 934 閱讀 6363

就是乙個字串分割問題,盡可能分到最小並且一種字元只能出現在乙個子字串

例如: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 庫,也不能直接將輸入的字串轉換為整數...