給定乙個字串s和乙個非空字串p,找到s中所有是p的字母異位詞的子串,返回這些子串的起始索引。
字串只包含小寫英文本母,並且字串s和p的長度都不超過 20100。
說明:
示例 1:
輸入:s: "cbaebabacd" p: "abc"輸出:[0, 6]解釋:起始索引等於 0 的子串是 "cba", 它是 "abc" 的字母異位詞。示例 2:起始索引等於 6 的子串是 "bac", 它是 "abc" 的字母異位詞。
輸入:s: "abab" p: "ab"輸出:[0, 1, 2]解釋:起始索引等於 0 的子串是 "ab", 它是 "ab" 的字母異位詞。思路:滑動視窗的思想。起始索引等於 1 的子串是 "ba", 它是 "ab" 的字母異位詞。
起始索引等於 2 的子串是 "ab", 它是 "ab" 的字母異位詞。
**實現:
class solution
int n = p.length();
int chararray = new int[26]; // 因為字元都是小寫字母,那麼可以用下標( 字元 - 'a') 出現的字元個數
int findchararray = new int[26];
for (int i = 0; i < n; i++)
int j = 0;
int count = 0; // 統計已新增多少個字元
while(j < s.length()) else
if (count == n) else }}
}j++;
}return result;
}}
438 找到字串中所有字母異位詞
給定乙個字串 s 和乙個非空字串 p,找到 s 中所有是 p 的字母異位詞的子串,返回這些子串的起始索引。字串只包含小寫英文本母,並且字串 s 和 p 的長度都不超過 20100。說明 字母異位詞指字母相同,但排列不同的字串。不考慮答案輸出的順序。示例 1 輸入 s cbaebabacd p abc...
438 找到字串中所有字母異位詞
給定乙個字串 s 和乙個非空字串 p,找到 s 中所有是 p 的字母異位詞的子串,返回這些子串的起始索引。字串只包含小寫英文本母,並且字串 s 和 p 的長度都不超過 20100。說明 字母異位詞指字母相同,但排列不同的字串。不考慮答案輸出的順序。示例 1 輸入 s cbaebabacd p abc...
438 找到字串中所有字母異位詞
給定乙個字串 s 和乙個非空字串 p,找到 s 中所有是 p 的字母異位詞的子串,返回這些子串的起始索引。字串只包含小寫英文本母,並且字串 s 和 p 的長度都不超過 20100。說明 字母異位詞指字母相同,但排列不同的字串。不考慮答案輸出的順序。示例 1 輸入 s cbaebabacd p abc...