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

做企业展示版网站贵吗站内营销推广方式

做企业展示版网站贵吗,站内营销推广方式,做企业网站要注意什么,建设自己的网站怎么做题目: 给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。 异位词 指由相同字母重排列形成的字符串(包括相同的字符串)。 示例 1: 输入: s "cbaebabac…

题目:

给定两个字符串 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 的异位词的长度⼀定与字符串 p 的长度度相同,且异位词每种字母的个数和字符串每种字母的个数相同,所以我们可以利用滑动窗口(同向双指针)构造一个长度和字符串p相同的滑动窗口,并在滑动中维护窗⼝中每种字母的数量

 两个数组来模拟哈希表,hash1数组统计字符串p所有字母个数, hash2数组统计窗口中所有字母的个数

1 count变量来统计窗口中有效字母的个数,所谓有效字母就是某个字母加入窗口后,它的个数<=字符串p中同字母的个数,那么count++

2 left=0(左边界) right=0(指向待加入窗口中的元素)

3 进窗口+维护count:hash2数组为right指向的字母计算上一次个数

                                    如果该字母加入窗口后,此字母的个数<=hash1数组中同字母的个数

                                    则count++
4 判断是否出窗口+维护count:

                                    如果当前窗口的长度超过字符串p的长度,则要出窗口,只需要出一个元素

                                    在出窗口之前,要判断出窗口的字母是否为有效字母,若为有效字母

                                    则count--

                                    出窗口:出窗口的此字母在hash2数组中的个数-1,同时left++

5 更新结果:若是有效字母的个数==字符串p的长度,则该滑动窗口构成的是异位词

代码实现:

class Solution
{
public:vector<int> findAnagrams(string s, string p) {int hash1[26] = {0};//统计字符串p中每个字符出现的个数for(auto e:p){hash1[e-'a']++;}int hash2[26] = {0};//统计窗口里每个字符出现的个数int left = 0;int right = 0;int n = s.size();int m = p.size();int count = 0;vector<int> ret;while(right<n){hash2[s[right]-'a']++;//进窗口+维护countif(hash2[s[right]-'a']<=hash1[s[right]-'a']){count++;}if(right-left+1>m)//判断{if(hash2[s[left]-'a']--<=hash1[s[left]-'a'])//出窗口+维护count{count--;}left++;}if(count==m)//更新结果{ret.push_back(left);}right++;}return ret;}
};

http://www.dinnco.com/news/56989.html

相关文章:

  • php做简易网站seo建站系统
  • 制作网页之前必须先建立的是优化关键词排名公司
  • 标志设计的表现形式焦作关键词优化排名
  • 新河网新河吧推推蛙seo顾问
  • 朝鲜族网站沙参怎么做做一个企业网站大概需要多少钱
  • 盐城网站开发建设如何申请域名
  • 网站 电信已备案 联通福州seo建站
  • 做电商网站货源郑州优化网站关键词
  • 深圳求做网站百度注册入口
  • 做网站和推广搜索引擎优化seo网站
  • 三门峡做网站公司武汉百度推广入口
  • 网站制作东莞自助发稿
  • 企业形象设计学什么seo网站推广方案
  • 商城网站设计需要哪些技术新手运营从哪开始学
  • 黄金做空网站天津关键词排名推广
  • 网站建设项目设计表线上营销推广的公司
  • 手机网站优化seo系统优化
  • 做酒的网站名字大全爱站网长尾关键词
  • wordpress做视频播放网站com天堂网
  • 莱芜网站优化招聘网地推扫码平台
  • 搭建网站有什么用全自动引流推广软件app
  • 临朐网站制作网站软件下载
  • 做的非常好的网站案例自己怎么做网站优化
  • 分类目录网站有哪些天津seo排名费用
  • 网站建设启示福州短视频seo网红
  • 东莞网站建设怎么样免费网络推广公司
  • 深圳网站制作必推祥奔科技百度电脑网页版入口
  • 石家庄城乡建设网站设计公司排名
  • 做外贸网站要注意什么开发网站用什么软件
  • google网站郑州seo网站有优化