Leedcode 每日一題 字串的排序

2021-10-07 18:17:08 字數 796 閱讀 4182

給定兩個字串s1s2,寫乙個函式來判斷s2是否包含s1的排列。

換句話說,第乙個字串的排列之一是第二個字串的子串。

示例1:

輸入:s1 = "ab" s2 = "eidbaooo"輸出:true解釋:s2 包含 s1 的排列之一 ("ba").
示例2:

輸入:s1= "ab" s2 = "eidboaoo"輸出:false
注意:

輸入的字串只包含小寫字母

兩個字串的長度都在 [1, 10,000] 之間

自己原先想的是,求出s1的所有全排列,然後進行字串的匹配,後來發現自己真的太天真了……

只需要片段相同長度子串中對應字元出現的次數相等即可,在網上看到乙個大神的**被折服了,特此記錄學習:

class solution {

public:

bool checkinclusion(string s1, string s2) {

unordered_maphash;

int left=0, right=0;

for (int i=0; i(真的發現自己太菜了……看了半天才看懂,看懂的一瞬間就被折服了……)

每日一題 字串

題目描述 小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 庫,也不能直接將輸入的字串轉換為整數...