給定字串s和整數k.
計算長度為k且包含k個不同字元的子串數
string: 「abcabc」
k: 3
answer: 3
substrings: [「abc」, 「bca」, 「cab」]
string: 「abacab」
k: 3
answer: 2
substrings: [「bac」, 「cab」]
維護乙個陣列temp和乙個值cnt,記錄當前迭代值i之前k個長度的子串中包含的每個不同字元的個數和個數和。如果cnt==k,是符合要求的子串。每次i向後移動時,都要對第i-k個字元的數量和cnt進行更新。把得到的子串放到set中,最後返回set的大小。
1234567
891011
1213
1415
1617
1819
2021
2223
2425
2627
2829
class solutionif (cnt == k)
res.insert(stringin.substr(i-k+1,k));
}return res.size();}};
-------------end of file
thanks for reading-------------
lintcode 具有K個不同字元的子串
給定字串s和整數k.計算長度為k且包含k個不同字元的子串數 string abcabc k 3 answer 3 substrings abc bca cab string abacab k 3 answer 2 substrings bac cab 維護乙個陣列temp和乙個值cnt,記錄當前迭代...
第k個排列 LintCode
給定 n 和 k,求123.n組成的排列中的第 k 個排列。注意事項 1 n 9 樣例 對於 n 3,所有的排列如下 123 132213 231312 321如果 k 4,第4個排列為,231.挑戰 o n k in time complexity is easy,can you do it in...
lintcode 合併k個排序鍊錶
definition for listnode.public class listnode 但是不管合併幾個,基本還是要兩兩合併。那麼我們首先考慮的方法是能不能利用之前那道題的解法來解答此題。答案是肯定的,但是需要修改,怎麼修改呢,最先想到的就是兩兩合併,就是前兩個先合併,合併好了再跟第三個,然後第...