438.找到字符串中所有字母异位词
给定一个字符串 s 和一个非空字符串 p,找到 s 中所有是 p 的字母异位词的子串,返回这些子串的起始索引。
字符串只包含小写英文字母,并且字符串 s 和 p 的长度都不超过 20100。
说明:
- 字母异位词指字母相同,但排列不同的字符串。
- 不考虑答案输出的顺序。
示例 1:
输入: s: "cbaebabacd" p: "abc"输出: [0, 6]解释: 起始索引等于 0 的子串是 "cba", 它是 "abc" 的字母异位词。 起始索引等于 6 的子串是 "bac", 它是 "abc" 的字母异位词。
示例 2:
输入: s: "abab" p: "ab"输出: [0, 1, 2]解释: 起始索引等于 0 的子串是 "ab", 它是 "ab" 的字母异位词。 起始索引等于 1 的子串是 "ba", 它是 "ab" 的字母异位词。 起始索引等于 2 的子串是 "ab", 它是 "ab" 的字母异位词。
class Solution {
public:
vector<int> findAnagrams(string s, string p) {
if (s.empty()) return {};
vector<int> res, cnt(128, 0);
int ns = s.size(), np = p.size(), i = 0;
for (char c : p) ++cnt[c];
while (i < ns) {
bool success = true;
vector<int> tmp = cnt;
for (int j = i; j < i + np; ++j) {
if (--tmp[s[j]] < 0) {
success = false;
break;
}
}
if (success) {
res.push_back(i);
}
++i;
}
return res;
}
};
438.找到字符串中所有字母异位词相关推荐
- 【LeetCode】【HOT】438. 找到字符串中所有字母异位词(滑动窗口)
[LeetCode][HOT]438. 找到字符串中所有字母异位词 文章目录 [LeetCode][HOT]438. 找到字符串中所有字母异位词 package hot;import java.uti ...
- 438. 找到字符串中所有字母异位词【异位词-哈希数组】
438. 找到字符串中所有字母异位词 给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引.不考虑答案输出的顺序. 异位词 指由相同字母重排列形成的字符串(包括 ...
- Java实现 LeetCode 438 找到字符串中所有字母异位词
438. 找到字符串中所有字母异位词 给定一个字符串 s 和一个非空字符串 p,找到 s 中所有是 p 的字母异位词的子串,返回这些子串的起始索引. 字符串只包含小写英文字母,并且字符串 s 和 p ...
- 438. 找到字符串中所有字母异位词【我亦无他唯手熟尔】
438. 找到字符串中所有字母异位词 438. 找到字符串中所有字母异位词 题解 官方 438. 找到字符串中所有字母异位词 难度 中等 给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 ...
- LeetCode 438. 找到字符串中所有字母异位词(滑动窗口)
1. 题目 给定一个字符串 s 和一个非空字符串 p,找到 s 中所有是 p 的字母异位词的子串,返回这些子串的起始索引. 字符串只包含小写英文字母,并且字符串 s 和 p 的长度都不超过 20100 ...
- LeetCode 438. 找到字符串中所有字母异位词(双指针+滑动窗口)
题目描述 给定一个字符串 s 和一个非空字符串 p,找到 s 中所有是 p 的字母异位词的子串,返回这些子串的起始索引. 字符串只包含小写英文字母,并且字符串 s 和 p 的长度都不超过 20100. ...
- leetcode刷题(91)——438. 找到字符串中所有字母异位词
给定一个字符串 s 和一个非空字符串 p,找到 s 中所有是 p 的字母异位词的子串,返回这些子串的起始索引. 字符串只包含小写英文字母,并且字符串 s 和 p 的长度都不超过 20100. 说明: ...
- 【解题报告】Leecode 438. 找到字符串中所有字母异位词——Leecode每日一题系列
今天是坚持每日一题打卡的第二十七天 题目链接:https://leetcode-cn.com/problems/find-all-anagrams-in-a-string/ 题解汇总:https:// ...
- LeetCode:438. 找到字符串中所有字母异位词(简单易懂)
一.题目描述: 给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引.不考虑答案输出的顺序. 异位词 指由相同字母重排列形成的字符串(包括相同的字符串). 示例 ...
- leetcode 438. Find All Anagrams in a String | 438. 找到字符串中所有字母异位词(Java)
题目 https://leetcode.com/problems/find-all-anagrams-in-a-string/ 题解 方法1:尝试构造一种"与顺序无关的哈希" 思考 ...
最新文章
- 全职奶爸的一年深度学习之路:从零基础到成为研究科学家
- emmet中文文档 (转载)
- java属性修改前后_java 记录对象前后修改的内容(工具类)
- css中如何修改鼠标光标(指针)的样式和颜色
- 如何在移动设备上以开发模式访问SAP Spartacus
- React开发(166):ant design form 设置值
- HTTP405: 错误方法 - 不支持使用的 HTTP 谓词。
- docker 定时重启脚本_群晖Docker容器定时执行重启任务
- 网页加速优化简单总结
- python合并单元格出现:‘MergedCell‘ object attribute ‘value‘ is read-only 如何处理
- 2020家用千兆路由器哪款好_家用千兆路由器哪款好(2020年千兆路由器排行榜)...
- 宝塔面板本地调试网站提示域名解析错误的问题
- matlab怎么把音频变成信号_利用MATLAB软件对音频信号进行频谱分析及处理.doc
- [CF1603D]Artistic Partition
- 感觉自己成长慢,单点突破可以让你成长快10倍
- Ubuntu 系统中网络总是断掉重新连接
- 有关channel的相关知识(2)
- OmniGraffle 7.2 for Mac
- ApkTool(Apk反编译工具)电脑版
- 基于mediapipe和opencv的手势控制电脑鼠标
热门文章
- 为什么微软应该通过收购Docker来与Kubernetes竞争
- 持续集成并不能消除 Bug,而是让它们非常容易发现和改正(转)
- display:table-cell 在页面中的应用
- InstallShield 12 制作安装包
- sql常用语句集合(工作总结)
- ConceptDraw Office Pro v8.0.2 Keygen
- java webservice 示例,Java webservice 示例
- 通过反射认识泛型的本质
- 5月份鸿蒙升级时间,事关所有华为手机用户,鸿蒙正式升级时间终于确定
- python输入输出格式_Python基础-用户的输入及格式化输出 | 【韩涛博客】