567 字串的排列

2021-10-23 00:21:56 字數 822 閱讀 3782

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

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

示例1:

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

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

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

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

題解,字首和思想,o(26*n)

class solution sum[10005];

bool work(string s1, string s2, int len1, int len2)

int l=0,r=len1-1;

bool flag=false;

while(r}

if(!x)

l++; r++;

}return flag;

}bool checkinclusion(string s1, string s2)

};

567 字串的排列

給定兩個字串 s1 和 s2,寫乙個函式來判斷 s2 是否包含 s1 的排列。換句話說,第乙個字串的排列之一是第二個字串的子串。示例1 輸入 s1 ab s2 eidbaooo 輸出 true 解釋 s2 包含 s1 的排列之一 ba 思路 注釋 public boolean checkinclus...

567 字串的排列

題意理解 查詢乙個字串中的子串是否是另乙個字元的排列 問題分析 陣列滑動視窗 map 將待匹配的字串轉化成字典來比較,每次滑動字串,只需要修改字典中首尾字元的數量即可。對於數量為0的字元,需要從map中刪除。如果不刪除,無法直接用字典相等來判斷。其他做了40分鐘,慢了。一遍準。鏈結bool chec...

567 字串的排列

給定兩個字串 s1 和 s2,寫乙個函式來判斷 s2 是否包含 s1 的排列。換句話說,第乙個字串的排列之一是第二個字串的子串。示例1 輸入 s1 ab s2 eidbaooo 輸出 true 解釋 s2 包含 s1 的排列之一 ba 示例2 輸入 s1 ab s2 eidboaoo 輸出 fals...