当前位置: 首页 > news >正文

建设设计网站公司自助建站

建设设计网站公司,自助建站,网站转app工具,互动营销名词解释给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。 异位词 指由相同字母重排列形成的字符串(包括相同的字符串)。 示例 1: 输入: s "cbaebabacd", p "…

给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。

异位词 指由相同字母重排列形成的字符串(包括相同的字符串)。

示例 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" 的异位词。

提示:

  • 1 <= s.length, p.length <= 3 * 104
  • s 和 p 仅包含小写字母

题解

一开始是想用两层循环,先将p排序一次,然后将s中每个和p一样长的子串拿出来重新排序之后和p比较是否相同,但是这种做法会超时

于是采用了官方的解法,官方的做法有两个优点,一个是利用了滑动窗口,另一个是将判断异位词转换成判断每个字母出现的次数是否相同,这个确实是最快判断是否是由相同字母组成的字符串的方法

class Solution {
public:vector<int> findAnagrams(string s, string p) {vector<int>answer;int sLength=s.size(),pLength=p.size();if(sLength<pLength){ // 如果s短于p,后面无法放置窗口return {};}vector<int>ss(26),pp(26); // 记录字母出现次数for(int i=0;i<pLength;i++){ // 放置滑动窗口ss[s[i]-'a']++;pp[p[i]-'a']++;}if(ss==pp)answer.emplace_back(0);for(int i=0;i<sLength-pLength;i++){ss[s[i]-'a']--; // 滑动窗口移动,去掉前一个字母的状态ss[s[i+pLength]-'a']++; // 滑动窗口移动,增加后一个字母的状态if(ss==pp)answer.emplace_back(i+1);}return answer;}
};

http://www.yayakq.cn/news/904617/

相关文章:

  • 珠海市官网网站建设品牌移动网络服务电话
  • 网站做虚假宣传有没有做处罚如何选择大连网站建设
  • gofair外贸建站出入广州最新通知今天
  • 网站恶意做评论电商网站建设考试题
  • 南京市建设工程交易中心网站图片制作pdf
  • wordpress html 代码邯郸网站优化怎么用
  • 珠海网站建设专业设计如意影院
  • 天津做网站开发的彩虹网站建设
  • 用源码做网站佛山网站搭建公司
  • 手机怎么生成网站怎么把自己的网站放到百度搜索上
  • 绵阳做绵阳做网站网站php网站伪静态
  • 清远网站制作公司网站推广智选刺盾云下拉
  • 扫描网站特征dede哪些平台可以发广告
  • 品牌网站建设 51下拉做团队网站源码有哪些
  • 宁波网站建站模板中国建设教育网站官方
  • 建材销售网站手机模板广州地址设计网站
  • 蔚县网站建设wl17581周口网站seo
  • 自己做的网站会被黑吗城厢区建设局网站
  • 工业设计网站官网杭州响应式网站案例
  • 济南自助建站网站建设方案书
  • 宠物网站建设报告找工作网
  • 运动鞋网站建设目的关键词优化排名软件
  • 网站屏蔽省份中企动力网站后台 好用吗
  • 高端网站设计报价接做网站需要问什么软件
  • 江苏盐城网站建设南京网站建设报价
  • 营销网站优点坂田网站建设推广公司
  • 哪个网站可以做淘宝代码网上如何推广自己的产品
  • 网站怎么快速做收录wordpress的分类id
  • 马可波罗网站如何做产品推广如何搭建服务器做网站
  • 装饰网站的业务员都是怎么做的西安网站建设推荐