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

城乡与住房建设部网站办事大厅wordpress 非小工具形式 微博秀

城乡与住房建设部网站办事大厅,wordpress 非小工具形式 微博秀,快车app官方下载,游戏开发设计公司文章目录 1.题目示例提示 2.解答思路3.实现代码结果 4.总结 1.题目 给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。 异位词 指由相同字母重排列形成的字符串(包括相同的字符串&a…

文章目录

  • 1.题目
    • 示例
    • 提示
  • 2.解答思路
  • 3.实现代码
    • 结果
  • 4.总结

1.题目

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

2.解答思路

对于滑动窗口的题,关键就是定义两个left,right用来控制子串的头尾。
还需要明确增大窗口的条件,以及缩小窗口的条件。

定义一个vector对象,用来存储答案(答案就是每一次的left值)。
定义两个无序哈希表分别存储s和p中字符出现的次数。
其中pCount的次数是不变的,用来比较的标准。
其中sCount的次数是随着逐渐的遍历用来控制增大缩小窗口的关键判断条件。
当sCount中字符对应次数大于pCount中次数时,就需要缩小窗口。

3.实现代码

class Solution
{
public:vector<int> findAnagrams(string s, string p){vector<int> answer ;unordered_map<char, int> pCount, sCount; // 无序哈希表int pLen = p.size();int sLen = s.size();for (char c : p){ // p每个字符出现的次数pCount[c]++;}for (int left = 0, right = 0; right < sLen; right++){char c = s[right]; // 记录对头指针所指字符// 增大窗口sCount[c] += 1; // 无论是什么字符,直接插入子串// 缩小窗口while (sCount[c] > pCount[c]){/*缩小窗口条件:1.当下字符不在p中。2.当下字符出现重复(p中没有重复字符)3.若p中有重复字符,这个比较也可以直接计算重复次数*/sCount[s[left]]--; // 相对应字符次数减1left++;            // 缩小窗口}// 缩小窗口之后,子串[left,right]两侧都是闭区间if (right - left + 1 == pLen){ // 当子串长度=p长度,就可记录下此时的left值answer.push_back(left);}}return answer;}
};

结果

在这里插入图片描述

4.总结

这道题不简单,写了好久。最开始没有考虑到p中有重复字符的情况,导致饶了很大圈子。
最后还是参考别人的代码思路仿写的。学习了很好的思路。有收获!

当两个序列的元素都需要计数的时候,可以使用两个哈希表,并且int型的值,都会初始化为0.,直接使用++运算也是ok的。

自信,坚持,upup~

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

相关文章:

  • 用dedecms织梦做中英文网站怎样建设传奇网站空间
  • 网站手机源码在线网页制作培训
  • 263网站建设怎么样淮北人论坛招聘网
  • 做企业网站的要点北京怎样建设公司网站
  • 中国建行官网登录首页网站seo优化培训
  • 网站开发系统搭建frontpage网站模板
  • 创建网站用突唯阿做响应式网站椒江建设网站
  • 网站建设与开发试题与答案绍兴网站建设公司
  • sem竞价托管价格企业整站优化
  • 国企门户网站建设情况汇报建网站pc版 (报价)
  • 越秀微网站建设青锐成长计划网站开发人员
  • 多用户分布式网站开发禁止下载app网站
  • 怎么做网站盈利素材网站怎么做
  • 河北石家庄网站沈阳医大一医院男科咨询
  • 硬件开发平台有哪些seo网站设计招聘
  • 怎么在服务器建立网站简单html网页代码
  • metro风格网站模板wordpress 官方主题
  • 网站备案未注销 影响辽阳做网站公司
  • 灯塔建设网站wordpress 菜单 插件
  • 图片上传 网站建设教学视频教程垂直网站需要多少钱
  • 现在币圈有那些私募网站做的好织梦响应式网站怎么做
  • 备案网站大全设计类专业哪个就业前景好
  • 网站建设是要考虑什么东西网站建设服务费合同
  • 网站建设对于企业的意义广州网站建设公司嘉御
  • 赤城seo网站优化排名工商网查询营业执照
  • 厦门网站免费制作惠州网站seo
  • 郑州建设网站费用做个网站上百度怎么做
  • 珠海网站搜索引擎优化近期时政热点新闻20条
  • 网站建设公司的市场开拓方案工业企业网站建设也的意义
  • 永久免费自助建站系统网站建设教程吧