当前位置: 首页 > 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.sczhlp.com/news/69131/

相关文章:

  • 动图在线制作网站公司网络建设计划书
  • Hall定理学习
  • 9.4日考试总结
  • 英语_阅读_remember_待读
  • 做题随笔:P5319
  • 网站大型网页游戏苏州专业做网站公司有哪些
  • 江西建设网站app开发公司选择技巧
  • 各大房产网站福田做网站报价
  • 个人建网站步骤在淘宝做网站和网络公司做网站区别
  • 网站备案怎么这么麻烦工作室可以做什么行业
  • 包装公司网站模板网站建设寻求
  • 网站 数据报表如何做网站后台发布文章
  • 帮别人做ppt挣钱的网站wordpress站点登陆
  • 南京建设网站公司上海网安网站建设
  • 营销型网站重要特点是岳阳网站定制
  • 我想建个网站网站怎么建域名网盟推广费用
  • 做健身网站开题报告公司网站建设费计入什么费用
  • 个人网站开发人员小程序注册失败怎么办
  • Sqlite在低版本Centos系统启动失败问题解决
  • AAA
  • 制作网页小程序seo搜索优化招聘
  • 买域名和服务器一般要多少钱郴州网站seo外包
  • 万网主机网站建设数据库怎么弄网页编辑实训报告
  • 微信怎么做网站郑州新闻发布会直播
  • dz插件网站和自己做的网站区别做网站要学的知识
  • 南通网站定制公司wordpress 添加内容
  • 蓝色系 网站衡水网站设计公司哪家好
  • 网站的开发环境搭建网络环境
  • 青海网站建设公司电话天津电商网站开发
  • Burnside/Plya