題目描述
給定乙個字串 s 和乙個非空字串 p,找到 s 中所有是 p 的字母異位詞的子串,返回這些子串的起始索引。
字串只包含小寫英文本母,並且字串 s 和 p 的長度都不超過 20100。
說明:字母異位詞指字母相同,但排列不同的字串。
不考慮答案輸出的順序。
示例 1:
輸入:s: 「cbaebabacd」 p: 「abc」
輸出:[0, 6]
解釋:起始索引等於 0 的子串是 「cba」, 它是 「abc」 的字母異位詞。
起始索引等於 6 的子串是 「bac」, 它是 「abc」 的字母異位詞。
示例 2:
輸入:s: 「abab」 p: 「ab」
輸出:[0, 1, 2]
解釋:起始索引等於 0 的子串是 「ab」, 它是 「ab」 的字母異位詞。
起始索引等於 1 的子串是 「ba」, 它是 「ab」 的字母異位詞。
起始索引等於 2 的子串是 「ab」, 它是 「ab」 的字母異位詞。
一次性擼出來的**,寫出來直接跑出來的,不得不說還是思維重要,忽略執行的效率
class solution else
}for (int j1 = 0; j1 < len2; j1++) else
}boolean flag = false;
for (int j3 = 0; j3 < 52; j3++)
}if(!flag)
result.add(i);
}return result;
}}
排行靠前的**
class solution
while(true)
}
if(flag)list.add(k-end);
if(k==chs.length)break;
sums[chs[k-end]]--;
sums[chs[k]]++;
k++;
}return list;
}}
找到字串中所有字母異位詞
給定乙個字串 s 和乙個非空字串 p,找到 s 中所有是 p 的字母異位詞的子串,返回這些子串的起始索引。字串只包含小寫英文本母,並且字串 s 和 p 的長度都不超過 20100。說明 字母異位詞指字母相同,但排列不同的字串。不考慮答案輸出的順序。示例 1 輸入 s cbaebabacd p abc...
找到字串中所有字母異位詞
描述 給定乙個字串 s 和乙個非空字串 p,找到 s 中所有是 p 的字母異位詞的子串,返回這些子串的起始索引。字串只包含小寫英文本母,並且字串 s 和 p 的長度都不超過 20100。說明 字母異位詞指字母相同,但排列不同的字串。不考慮答案輸出的順序。示例 1 輸入 s cbaebabacd p ...
438 找到字串中所有字母異位詞
給定乙個字串 s 和乙個非空字串 p,找到 s 中所有是 p 的字母異位詞的子串,返回這些子串的起始索引。字串只包含小寫英文本母,並且字串 s 和 p 的長度都不超過 20100。說明 字母異位詞指字母相同,但排列不同的字串。不考慮答案輸出的順序。示例 1 輸入 s cbaebabacd p abc...