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

大学做网站长沙seo免费诊断

大学做网站,长沙seo免费诊断,python做网站实战,网站优化 西安给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。 示例 1: 输入: s "cbaebabacd", p "abc" 输出: [0,6] 解释: 起始索引等于 0 的子串是 "cba", 它是 "a…

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

示例 1:

输入: s = "cbaebabacd", p = "abc"
输出: [0,6]
解释:
起始索引等于 0 的子串是 "cba", 它是 "abc" 的异位词。
起始索引等于 6 的子串是 "bac", 它是 "abc" 的异位词。

思路:

滑动窗口。

  1. 界条件检查:在函数开始时,检查 s 的长度是否小于 p 的长度,若小于则直接返回空结果。
  2. 字符计数统计:分别统计字符串 p 中每个字符的出现次数到 pmp 中,以及初始窗口内字符的出现次数到 smp 中。
  3. 检查初始窗口:比较 smp 和 pmp,若相等则将起始索引 0 添加到结果中。
  4. 移动滑动窗口i 从 plen 开始,每次移动窗口时,移除窗口最左边的字符,添加窗口最右边的字符,并更新 smp。若更新后的 smp 和 pmp 相等,则将当前窗口的起始索引添加到结果中。
class Solution {
public:vector<int> findAnagrams(string s, string p) {vector<int> res;int slen=s.size();int plen=p.size();unordered_map<char,int> pmp;for(char x:p){pmp[x]++;}unordered_map<char,int> smp;// 初始化滑动窗口for (int i = 0; i < plen; i++) {smp[s[i]]++;}// 检查初始窗口是否是 p 的字母异位词if (smp == pmp) {res.push_back(0);}for(int i=plen;i<slen;i++){smp[s[i - plen]]--;if (smp[s[i - plen]] == 0) {smp.erase(s[i - plen]);}smp[s[i]]++;if(smp==pmp){res.push_back(i-plen+1);}}return res;}
};

复杂度分析

  • 时间复杂度:\(O(n)\),其中 n 是字符串 s 的长度。每个字符最多被访问两次。
  • 空间复杂度:\(O(k)\),其中 k 是字符集的大小,主要用于存储 pmp 和 smp

http://www.dtcms.com/wzjs/400030.html

相关文章:

  • 企业网站系统手机版seo网站推广是什么意思
  • 高平市网站建设公司搜索引擎费用
  • 承德哪里做网站域名信息查询系统
  • 深圳入户搜索引擎优化的具体措施
  • 网站托管公司哪家好百度推广代理商与总公司的区别
  • 香港idc网站电商seo是什么意思
  • 昆明做网站的旅行社搜索引擎营销优缺点
  • 大连网站开发培训价格百度账号中心官网
  • iapp网站怎么做软件买链接官网
  • discuz怎么做网站地图怎么做自媒体
  • 温州高端网站建设苏州做网站哪家比较好
  • 帝国cms做微网站接外包网站
  • 架设网站 软件全网关键词搜索工具
  • 怎么看公司网站建设的时间深圳整站全网推广
  • 网站建设文章广州网络推广定制
  • 网站举报后还是没封掉淘宝运营主要做些什么
  • 有了php源码怎么做网站seo排名优化软件有
  • 网站备案没公司名称站长工具高清无吗
  • 集团门户网站建设公司百度关键词广告怎么收费
  • 精品网站建设多少钱百度首页排名优化多少钱
  • 自己创建公司企业网站优化
  • 申请的网站怎么建设荆门网络推广
  • 票务系统网站模板网站开发从入门到实战
  • 伪静态 wordpressseo入门培训
  • 如何仿制wordpress网站宁波seo网络推广产品服务
  • 聊城手机网站服务网站推广公司排行榜
  • php做视频网站源码系统优化大师免费版
  • wordpress主题怎么上传淘宝怎样优化关键词
  • 北京的互联网公司百度推广优化师培训
  • 开通网站的请示最近几天发生的新闻大事