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

重庆建站模板厂家职业技能培训网站

重庆建站模板厂家,职业技能培训网站,南宁品牌网站建设,怎么做倒计时网站https://leetcode.cn/problems/find-all-anagrams-in-a-string/ 题目描述 题目分析 异位词所表示的空间 P \text{P} P 即一字符串的所有排列,记 s i \bold{s_i} si​为以 s [ i ] s[i] s[i]开头的长度为 plen \text{plen} plen的 s s s子串 故本题可理解为求解 A n s Ans Ans…

https://leetcode.cn/problems/find-all-anagrams-in-a-string/

题目描述

在这里插入图片描述

题目分析

异位词所表示的空间 P \text{P} P 即一字符串的所有排列,记 s i \bold{s_i} si为以 s [ i ] s[i] s[i]开头的长度为 plen \text{plen} plen s s s子串
故本题可理解为求解 A n s Ans Ans集合
A n s = { i ∣ s i ∈ P } Ans = \{\space i \space|\space\bold{s_i} \in{\text{P}}\} Ans={ i  siP}
难点:如何判断 s i \bold{s_i} si 是否属于 P {\text{P}} P 集合

题目解法

思路1:通过sort函数可唯一确定一异位词空间,如此可以判断 s i \bold{s_i} si 是否属于题目要求的解空间 P {\text{P}} P

关键伪代码如下

sort(p);
for(...){temp <= s(i, plen);sort(temp);if(temp == p) ans.push(i);
}

思路2:通过count的方法唯一表示解空间

可以通过异位词的元素种类与对应个数唯一表示一异位词空间

代码如下

vector<int> findAnagrams(string s, string p) {int slen = s.length(), plen = p.length();vector<int> ans;if(s.length() < p.length()){return ans;}vector<int> hash_p(26);vector<int> hash_q(26);for(int i = 0; i < plen; ++i){++hash_p[(p[i] - 'a')];++hash_q[(s[i] - 'a')];}if(hash_p == hash_q) ans.emplace_back(0);for(int i = plen; i < slen; ++i){++hash_q[(s[i] - 'a')];--hash_q[(s[i - plen] - 'a')];if(hash_p == hash_q) ans.emplace_back(i - plen + 1);}return ans;
}

总结

通过滑动窗口进行遍历,通过"hash"将字符串子串映射到异位词表示空间

每一个表示代表了一个异位词空间(一个字符串的所有元素的全排列)
广义上讲,以上方法都属于一种hash

http://www.tj-hxxt.cn/news/16028.html

相关文章:

  • 百度网页翻译功能在哪seo宣传
  • 电子商务网站建设实训步骤军事新闻今日最新消息
  • 大学生对校园网站建设的需求是什么深圳网络营销推广中心
  • 自己搭建小型服务器企业网站优化方案
  • 企业网站设计软件关键词挖掘爱站网
  • 创建自己的网站需要准备什么网上推广产品哪个网好
  • 用jsp加点mvc做网站怎么样市场营销计划方案
  • 网站服务器网址腾讯与中国联通
  • 网站排名优化原理写文章一篇30元兼职
  • 做门户网站的公司seo外包收费
  • 不买域名怎么做网站网络推广工作内容
  • 个人网站想添加支付功能怎么做百度关键词搜索量排名
  • 做面包网站微信营销平台
  • 湖南建设局网站站长工具传媒
  • 陕西企业电脑网站制作怎么做网站主页
  • 企业网站phpcms百度百科官网入口
  • 小程序定制开发seo查询排名软件
  • 网站网页怎么做万网创始人
  • 网站开发大概多久百度热搜广告位
  • 武汉专业制作网站seo平台怎么样
  • 文稿写作网站郑州seo顾问外包公司
  • 做推广网站排名合肥头条今日头条新闻最新消息
  • 宁波seo教程app推广国内seo排名
  • 上海网站公安备案号公司网站设计方案
  • 山东酷雅展陈装饰有限公司seo软文代写
  • 成都电子商务网站开发百度一下官网入口
  • 找公司做网站小红书seo排名帝搜软件
  • 网站建设专项检查建站网站关键词优化
  • 提供网站制作公司电话权重查询工具
  • 成都网站推广哪家专业石家庄seo推广公司