Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenDocCN
awesome-algorithm
提交
c2e74442
A
awesome-algorithm
项目概览
OpenDocCN
/
awesome-algorithm
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
A
awesome-algorithm
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
c2e74442
编写于
10月 20, 2017
作者:
K
KEQI HUANG
提交者:
GitHub
10月 20, 2017
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Create 438._Find_All_Anagrams_in_a_String.md
上级
db3d1e16
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
69 addition
and
0 deletion
+69
-0
438._Find_All_Anagrams_in_a_String.md
438._Find_All_Anagrams_in_a_String.md
+69
-0
未找到文件。
438._Find_All_Anagrams_in_a_String.md
0 → 100644
浏览文件 @
c2e74442
### 438. Find All Anagrams in a String
题目:
<https://leetcode.com/problems/Find-All-Anagrams-in-a-String/>
难度:
Easy
思路
刚开始打算直接遍历整个s,时间复杂度为O(m
*
n),m和n分别为字符串p和s的长度,但是超时了
```
python
python
class
Solution
(
object
):
def
findAnagrams
(
self
,
s
,
p
):
"""
:type s: str
:type p: str
:rtype: List[int]
"""
l
,
res
=
len
(
p
),
[]
for
i
in
range
(
len
(
s
)):
if
collections
.
Counter
(
s
[
i
:
i
+
l
])
==
collections
.
Counter
(
p
):
res
.
append
(
i
)
return
res
```
于是用双指针,left和right都从0开始往后遍历
```
python
class
Solution
(
object
):
def
findAnagrams
(
self
,
s
,
p
):
"""
:type s: str
:type p: str
:rtype: List[int]
"""
result
=
[]
cnts
=
[
0
]
*
26
for
c
in
p
:
cnts
[
ord
(
c
)
-
ord
(
'a'
)]
+=
1
left
,
right
=
0
,
0
while
right
<
len
(
s
):
cnts
[
ord
(
s
[
right
])
-
ord
(
'a'
)]
-=
1
while
left
<=
right
and
cnts
[
ord
(
s
[
right
])
-
ord
(
'a'
)]
<
0
:
cnts
[
ord
(
s
[
left
])
-
ord
(
'a'
)]
+=
1
left
+=
1
if
right
-
left
+
1
==
len
(
p
):
result
.
append
(
left
)
right
+=
1
return
result
```
Author: Keqi Huang
If you like it, please spread your support
![
Support
](
https://github.com/Lisanaaa/myTODOs/blob/master/WechatIMG17.jpeg
)
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录