题目描述
给定长度 k,找出字符串 str 里面所有长为 k 的子串。子串的字符不能重复,输出满足这样条件的子串数量(子串相同的只算 1 个)。
思路点拨
用双指针可以将所有的满足条件的子串找出来,在去重方面可以采用字符串 hash,也可以直接 HashMap 或者 HashSet 去重。
考点分析
本题主要考察双指针,仔细分析一下,字符全是小写字母,所有有效的字符串最多长度为 26, 当 k>26 时直接输出 0,k<=26 时用 HashMap 或者 HashSet,复杂度 O(n)。如果这题卡壳了,则需要好好的去刷刷双指针的题目。
九章参考程序 https://www.jiuzhang.com/solution/find-substring/?utm_source=sc-v2ex-fks
最后,给大家送一波算法课福利~
《线段树与树状数组》这门原价$199 的课程,现在免费即可获得!
参与方式: