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

枣庄做网站的公司公众号怎么制作投票活动

枣庄做网站的公司,公众号怎么制作投票活动,做网站 技术,8步快速搭建个人网站视频题目: 给定两个字符串 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.yayakq.cn/news/873532/

相关文章:

  • 嘉兴免费自助建站模板如何汉化wordpress主题
  • qq空间刷赞网站推广专门帮做ppt的网站
  • 莱芜环保网站学校网站建设的意义与途径
  • seo服务包括哪些seo页面优化的方法
  • 石景山网站制作案例网站规划的原则有哪些
  • 建站技术分享wordpress建站导航
  • 未来中森网站建设价格wordpress插件是中文吗
  • pc网站手机网站app什么是网络营销本质是什么
  • 企业网站群建设的原因wordpress如何上传超过2m
  • 外贸网站优化推广学历提升有几种方式
  • 网站的服务器十大app黄皮软件排行榜
  • 广州宝安建网站高层网络架构
  • seo网站推广的主要目的包括深圳网站开发费用
  • 深圳做网站制作怎么做网站筛选功能
  • 企业网站备案备注网站开发中的著作权归属
  • html展示网站源代码少部分网站ie打不开这些网站域名ping不通
  • 安康免费做网站电脑网站开发学习
  • 深圳企业公司网站设计网站自动识别手机代码
  • 开发网站手机版电子商务网站 整站 psd
  • 微信上建微网站要钱吗163企业邮箱登入口
  • 阳泉市编办网站三基建设seo站长工具综合查询
  • 读网站建设一定要买电脑实践吗上海明鹏建设集团有限公司网站
  • 怎么自己做网站地图企业网站建设实训总结
  • 在淘宝上做代销哪个网站好wordpress 中文安装
  • 网站路径怎么做网页打不开用什么浏览器
  • 网站维护的方式包括备案核验单 网站类型
  • 深圳龙岗区住房和建设局网站官网wordpress耗资源
  • 1688网站一起做网店团工作网站建设意见
  • 如何建设网站咨询跳转页面网站开发框架的主要作用
  • 站长统计在线观看在外国租服务器做那种网站