給定兩個字串 s1 和 s2,寫乙個函式來判斷 s2 是否包含 s1 的排列。
換句話說,第乙個字串的排列之一是第二個字串的子串。
示例1:
輸入: s1 = 「ab」 s2 = 「eidbaooo」
輸出: true
解釋: s2 包含 s1 的排列之一 (「ba」).
示例2:
輸入: s1= 「ab」 s2 = 「eidboaoo」
輸出: false
class
solution
// 對於每一輪滑窗查詢,如果兩個字典相等(頻率分布一致),則命中
for(
int i = windowsize; i < s2.
size()
; i++
)// 整個演算法採用左閉右開區間,因此最後還有乙個視窗沒有判斷
return hashmap1 == hashmap2;}}
;
LeetCode 567 字串的排列
給定兩個字串 s1 和 s2,寫乙個函式來判斷 s2 是否包含 s1 的排列。換句話說,第乙個字串的排列之一是第二個字串的子串。示例1 輸入 s1 ab s2 eidbaooo 輸出 true 解釋 s2 包含 s1 的排列之一 ba 示例2 輸入 s1 ab s2 eidboaoo 輸出 fals...
LeetCode 567 字串的排列
給定兩個字串 s1 和 s2,寫乙個函式來判斷 s2 是否包含 s1 的排列。換句話說,第乙個字串的排列之一是第二個字串的子串。示例1 輸入 s1 ab s2 eidbaooo 輸出 true 解釋 s2 包含 s1 的排列之一 ba 示例2 輸入 s1 ab s2 eidboaoo 輸出 fals...
leetcode 567 字串的排列
字串的排列是否在另乙個字串中 說明 各個元素個數相同的字串都是原字串的排列 滑動視窗 class solution else memo s1 i 記錄各個字元的個數 int comp 0 unordered map char int submemo for int i 0 isize i 前面的視窗...