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

养生类网站源码网站开发简易软件

养生类网站源码,网站开发简易软件,wordpress内页长尾词排名,网站如何验证登陆状态给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。 异位词 指由相同字母重排列形成的字符串(包括相同的字符串)。 示例 1: 输入: s "cbaebabacd", p "…

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

题解

一开始是想用两层循环,先将p排序一次,然后将s中每个和p一样长的子串拿出来重新排序之后和p比较是否相同,但是这种做法会超时

于是采用了官方的解法,官方的做法有两个优点,一个是利用了滑动窗口,另一个是将判断异位词转换成判断每个字母出现的次数是否相同,这个确实是最快判断是否是由相同字母组成的字符串的方法

class Solution {
public:vector<int> findAnagrams(string s, string p) {vector<int>answer;int sLength=s.size(),pLength=p.size();if(sLength<pLength){ // 如果s短于p,后面无法放置窗口return {};}vector<int>ss(26),pp(26); // 记录字母出现次数for(int i=0;i<pLength;i++){ // 放置滑动窗口ss[s[i]-'a']++;pp[p[i]-'a']++;}if(ss==pp)answer.emplace_back(0);for(int i=0;i<sLength-pLength;i++){ss[s[i]-'a']--; // 滑动窗口移动,去掉前一个字母的状态ss[s[i+pLength]-'a']++; // 滑动窗口移动,增加后一个字母的状态if(ss==pp)answer.emplace_back(i+1);}return answer;}
};

http://www.15wanjia.com/news/160077.html

相关文章:

  • 浙江省建设厅官方网站网站备案填写要求
  • 网站数据库如何做枣阳网站建设
  • 天津网站建站推广凡科网营销推广
  • 公司没有自己的网站长春网站开发推荐
  • 卖友情链接的哪来那么多网站杭州网络营销网站
  • 上海市建设局网站沈阳设计网站公司哪家好
  • 创建网站域名企业网站建设套餐
  • 哈尔滨口碑好的网站建设公众平台是什么
  • 免费购物网站广州10大网站服务品牌
  • 天津差旅管家商旅服务有限公司广州seo网站排名优化
  • 闸北品牌网站建设免费网络课程平台
  • 怎么建设彩票网站h5必备网站
  • 用天地图做网站100个无水印短视频素材
  • 有没有便宜做网站的 我要做个百度seo排名点击
  • 快速网站推广公司官方网站建设 磐石网络多少费用
  • 网站开发 语音网站开发方式包括
  • 泉州最专业微信网站建设公司做知乎网站要多少钱
  • .flv 网站播放dhl做运单的网站
  • 行业网站建设深圳公司房地产网络营销方式
  • php做企业网站管理系统江西网络推广外包
  • 黑龙江省建设银行网站关键词投放
  • 如何给给公司建立网站在线crm视频观看
  • 广州白云网站建设公司中国企业网站建设现状
  • 高清免费素材网站沈阳网站排名公司
  • 个人网站的成本淄博刚刚发布紧急通知
  • 做平面设计一般上哪个网站参考vps主机支持WordPress
  • 快要到期的域名网站如何做外卖网站
  • 网站自己的工业设计考研比较好的学校
  • 驻马店营销型网站建设建设部网站注册中心
  • 制作网站联系方式网站域名被黑