数据结构-哈希表
哈希表是在基于数组的基础上加入链表或者二叉树组成的新数据结构、为了显著提升查找效率/
leetcode每日一题中出现了需要滑动数据块解决的问题:将一个字符串中长度为10重复出现的子串导出:
如ABCCCABCCCABCCCABCCC导出ABCCCABCCC和CCCABCCCAB
代码如下:哈希表作为一个便捷的计数工具
class Solution:
def findRepeatedDnaSequences(self, s: str) -> List[str]:
ans = []
cnt = defaultdict(int)#哈希表作为计数器
for i in range(len(s) - 9):
sub = s[i : i + 10]
cnt[sub] += 1 #对每一个sub都进行一个统计
if cnt[sub] == 2: #如果某一个sub出现两次以上那么记录一次
ans.append(sub)
return ans