九章算法 | Amazon 面试题:Find Substring

撰文 | JZ
专栏 | 九章算法


题目描述

给定长度k,找出字符串str里面所有长为k的子串。子串的字符不能重复,输出满足这样条件的子串数量(子串相同的只算1个)。


思路点拨

用双指针可以将所有的满足条件的子串找出来,在去重方面可以采用字符串hash,也可以直接HashMap或者HashSet去重。


考点分析

本题主要考察双指针,仔细分析一下,字符全是小写字母,所有有效的字符串最多长度为26, 当k>26时直接输出0,k<=26时用HashMap或者HashSet,复杂度O(n)。如果这题卡壳了,则需要好好的去刷刷双指针的题目。


九章参考程序

https://www. jiuzhang.com/solution/f ind-substring/


v2-4a8dcd210ee424bdf96659603619b854_b.jpg