请写出对应的python代码
时间: 2023-07-23 15:17:54 浏览: 94
python代码
好的,以下是对应的 Python 代码实现:
```python
def count_substring(s):
n = len(s)
left, right = 0, 0 # 定义左右指针
count = 0 # 统计无重复字符子串的数量
hash_map = {} # 维护当前窗口中的所有字符及其出现的次数
while right < n:
# 将新的字符加入哈希表
if s[right] not in hash_map:
hash_map[s[right]] = 1
else:
hash_map[s[right]] += 1
# 判断当前窗口是否合法
while hash_map[s[right]] > 1:
hash_map[s[left]] -= 1
left += 1
# 统计子串的数量
count += right - left + 1
# 移动右指针
right += 1
return count
```
该代码的时间复杂度为 O(n),其中 n 是字符串的长度。
阅读全文