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

dede织梦建站教程企业网络搭建书籍

dede织梦建站教程,企业网络搭建书籍,曲靖网站网站建设,用织梦建网站1. 题目链接:438. 找到字符串中所有字母异位词 2. 题目描述: 给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。 异位词 指由相同字母重排列形成的字符串(包括…

1. 题目链接:438. 找到字符串中所有字母异位词

2. 题目描述:

给定两个字符串 sp,找到 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
  • sp 仅包含小写字母

3. 解法(滑动窗口+哈希表)

3.1 算法思路:

  • 因为字符串p的异位词的长度一定与字符串p的长度相同,所以我们可以在字符串s中构造一个长度为与字符串p的长度相同的滑动窗口,并在滑动中维护窗口中每种字母的数量
  • 当窗口中每种字母的数量与字符串p中每种字母的数量相同时,则说明当前窗口为字符串p的异位词
  • 因此可以用两个大小为26的数组来模拟哈希表,一个来保存s中的子串每个字符出现的个数,
  • 另一个来保存p每一个字符出现的个数。这样就能判断两个串是否是异位词

3.2 算法流程:

  1. 初始化hash1数组,用来统计字符串p中每个字符出现的次数。
  2. 初始化hash2数组,用来统计滑动窗口内每个字符出现的次数。
  3. 将滑动窗口的左边界left和右边界right都初始化为0
  4. 遍历字符串s,从左到右依次将字符加入窗口。
  5. 判断是否需要移动窗口。如果窗口长度超过了p的长度,就需要移动窗口,判断是否需要从窗口中移出最左边的字符。
  6. 如果需要移出字符,就从窗口中移出最左边的字符,并更新hash2数组和count变量。
  7. 判断窗口内的字符是否是p的异位词。如果是,将左边界的索引加入结果数组ret
  8. 返回结果数组ret

请添加图片描述

3.3 C++算法代码:

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

相关文章:

  • 网站推广 济南安溪学校网站建设
  • 牡丹江地区做网站的公司骨科免费咨询
  • 网站权重不稳定电子商务网站建设的总体设计
  • 网站建站常见问题hishop网站搬家
  • 专业做ppt的网站北京建设高端网站的
  • 天津市建设与管理局网站下载灰色行业关键词推广
  • 办网站除了域名备案 还需要什么网络优化网站建设学习
  • 建站如何收费把wordpress变成网盘
  • 只做衬衫的网站平台开发者
  • 做网站第一部网推技巧
  • 服装建设网站论文的目录wordpress搜索不到插件
  • 类似凡科网的网站网站制作公司网站建设公司
  • 住房和城乡建设报名网站seo教程:外链优化方法和原理介绍
  • 广州响应式网站谷歌外贸推广怎么做
  • 开发网站需要什么常州做网站需要多少钱
  • 如何用kali做网站渗透wordpress主题和备份下载
  • html移动网站开发教育行业网站建设价格
  • 北京网站开发学习设计个人网站的步骤
  • 成都专业网站设计公司网站制作 台州
  • 住房和城乡建设部干部学院网站雨岑信息科技有限公司做企业型网站做的怎么样_公司规模如何
  • 月子会所 网站源码深圳比较好的建网站公司
  • 网站的优化与推广分析wordpress 破解主题下载
  • 武城网站建设公司网络公司排名哪家专业
  • 天津专业网站制作流程优势wordpress固定链接设置后404
  • 毕业设计网站选题企业网站优化的方案
  • 建设银网站大学班级网站建设
  • asp做一个简单网站上海电子商城网站
  • 5在线做网站呼市网页制作培训
  • 朝阳企业网站建设方案费用营销渠道的选择和营销网络的建设
  • 网站建设培训 南宁济南公众平台网站建设