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

大型网站的设计网站正在备案中

大型网站的设计,网站正在备案中,百度排名查询,关于网站设计的会议LeetCode原题链接:438. 找到字符串中所有字母异位词 下面是题目描述: 给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。 异位词 指由相同字母重排列形成的字符串&…

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

下面是题目描述:
给定两个字符串 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、解题思路
前言:如果有第一次学习滑动窗口算法的朋友,可以先阅读一下笔者关于滑动窗口算法的第一篇文章:【算法学习】-【滑动窗口】-【长度最小的子数组】,那里对滑动窗口会有较详细的讲解,下面的解题思路中关于相关算法的步骤就仅进行简单的叙述啦。

由题目描述可得, 本题主要可分为以下两个步骤:
(1)判断一个字符串是否为另一个字符串的异位词
这里需要借助哈希表这个数据结构来进行判断,即将两个字符串中的字符分别放入两个哈希表中,然后对比这两个哈希表,若两个哈希表中的字符及字符个数都一样,则说明是异位词;否则不是。

(2)确定滑动窗口
相较于之前笔者有关滑动窗口算法的文章中的滑动窗口,这里的窗口大小是恒定的,即用于构成窗口大小的两个指针是 “共进退” 的。故此时直接照搬之前控制窗口移动的思路反而会使情况变得复杂。下面介绍一下算法的步骤

  • 先初始化两个哈希表,便于直接进行第一次判断
  • 判断两个哈希表中的内容否相等,若相等,则记录索引(也就是构成窗口的前面的那个指针的值)
  • 接着无论是否相等都需将字符串s对应的哈希表中的第一个字符删除(注意这里要先让数量--,数量为0后才执行删除操作)而进行下一次枚举
  • 删除后,向s对应的哈希表中插入新的字符,然后两个指针都向后移动一位,准备进行下一次的判断。循环执行上述过程。

2、具体代码

 	vector<int> findAnagrams(string s, string p){unordered_map<char, int> mapOfp;unordered_map<char, int> mapOfs;//初始化哈希表for (size_t i = 0; i < p.size(); i++){mapOfp[p[i]]++;mapOfs[s[i]]++;}vector<int> res;size_t cur = p.size();size_t begin = 0;while (cur <= s.size()){if (mapOfp == mapOfs){res.push_back(begin);}if( --mapOfs[s[begin]] == 0){mapOfs.erase(s[begin]);}begin++;mapOfs[s[cur++]]++;}if (mapOfp == mapOfs){res.push_back(begin);}return res;}

看完觉得有觉得帮助的话不妨点赞收藏鼓励一下,有疑问或看不懂的地方或有可优化的部分还恳请朋友们留个评论,多多指点,谢谢朋友们!🌹🌹🌹

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

相关文章:

  • 郑州网站建设培训短期班深圳知名设计公司
  • 网站建设分金手指专业十wordpress 短信登录
  • 做围棋题网站网络销售挣钱吗
  • 建设美团网站陕西省建设厅官网查询
  • 换网站了吗线上推广有哪些渠道
  • 网站管理的含义六安网页设计
  • 商城网站的建设方案在苏州注册公司需要多少钱
  • 河北住房和城乡建设厅网站成都住建局官网网上办事大厅
  • 网站安全建设需求分析报告网站建设技术员保密协议
  • 2008 iis 配置 asp网站wordpress注册不发邮件
  • 巨野城乡住房建设局网站免费搭建博客网站
  • 网站功能开发需求分析研究生院 网站 建设
  • 好听的网站名称网站开发不懂英语
  • c 网站开发实例手机能创建网站吗
  • 网站备案都审核什么资料智联招聘网最新招聘官网
  • 网站平台怎么建设物流网个人网站建设
  • 网站建设原创做网站的广告图片
  • 营销网站建设一薇网站内容栏目
  • 如何建立自己的网站商城郑州网站推广公司服务
  • ASP网站建设实训报告总结温州外贸网站制作
  • 一个网站上能不能放两个域名 两个备案号小程序制作图片
  • 建设银行住房公积金预约网站首页网站建设调研报告的前言
  • 新创建的网站html诗词赏析网页制作步骤
  • 做医疗类网站有什么需要审核的网站关键词设几个
  • 专业网站建设公司哪里好wordpress创建企业邮箱
  • 网站平台怎么做的wordpress加入链接
  • 网站建设运营协议公司简历模板表格
  • 深圳网站建设推广优化个人网站的设计与开发
  • 网站模板简易修改公司网站 设计
  • jsp购物网站开发教程泰安市最新消息今天