九章算法 | Amazon 面试题:Minimum String Array Coverage
撰文 | JZ
专栏 | 九章算法
题目描述
给定一个字符串集合tag_list,一个字符串数组all_tags。请寻找最小的all_tags子数组包含tag_list中的所有字符串,输出这个子数组的长度。如果不存在返回-1。
思路点拨
使用Two pointers,右指针不断向右移,直到包含所有字符串,使用HashSet维护Two pointers中都有哪些字符串出现,左指针一次移动一下并更新Two pointers中都有哪些字符串出现。时间复杂度O(n)。
考点分析
本题和上题一样,也是考察的双指针,不过会多一点小细节要处理,可见amazon是有多喜欢考双指针,所以熟练掌握双指针是很有必要的。
九章参考程序
https://www. jiuzhang.com/solution/m inimum-string-array-coverage/