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

如何规划设计一个网站电影《设计》

如何规划设计一个网站,电影《设计》,购门户网站系统,网站不被收录怎么办找到字符串中所有字母异位词 给定两个字符串 s 和 p,找到 s 中所有 p 的 异位词 的子串,返回这些子串的起始索引。不考虑答案输出的顺序。 异位词 指由相同字母重排列形成的字符串(包括相同的字符串) 示例 1: 输入: s "…

找到字符串中所有字母异位词

给定两个字符串 sp,找到 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 * 10^4
  • sp 仅包含小写字母

超时代码

用滑动窗口去遍历整个字符串,每次遍历到一个字串就sort一次,再与sort好的字符串 p 比较,当字符串长度过长时,这个做法肯定会超时.

class Solution {
public:vector<int> findAnagrams(string s, string p) {vector<int> ans;int len_s = s.length(); // s的长度int len_p = p.length(); // p的长度sort(p.begin(), p.end()); // 对p进行排序int i = 0, j = i + len_p - 1; // 滑动窗口while (j < len_s) {// 将滑动窗口中的字串取出,存放到tmp中string tmp = "";tmp.append(s.substr(i, len_p));sort(tmp.begin(), tmp.end());if (!tmp.compare(p)) { // 若两个字符串相等ans.push_back(i);}i++, j++; // 往后移动滑动窗口}return ans;}
};

正确做法

同样的滑动窗口思路,但是判断字符串是否是字母异位词,改用长度为26的数组来记录遍历到的字串中字母出现的次数与 p 字符串中字母出现的次数,若两者相同,则是字母异位词。代码如下

class Solution {
public:vector<int> findAnagrams(string s, string p) {int len_s = s.length(); // s的长度int len_p = p.length(); // p的长度if (len_s < len_p) return vector<int>();vector<int> ans;vector<int> sCNT(26); // 记录s串中字母出现次数vector<int> pCNT(26); // 记录p串中字母出现次数for (int i = 0; i < len_p; ++i) {++sCNT[s[i] - 'a'];++pCNT[p[i] - 'a'];}// 0位置开始的滑动窗口中的字符串与目标字符串互为字母异位if (sCNT == pCNT) ans.push_back(0); for (int i = 0; i < len_s - len_p; ++i) {// 移动窗口--sCNT[s[i] - 'a'];++sCNT[s[i + len_p] - 'a'];if (sCNT == pCNT) {ans.push_back(i + 1);}}return ans;}
};
http://www.yayakq.cn/news/794020/

相关文章:

  • 广州建网站白云区宁波微信公众号开发公司
  • 爱墙 网站怎么做无锡网站建设 app 微信
  • 重庆网站建设培训机构网站的二级目录怎么做
  • 金隅嘉华大厦网站建设公司商务网站安全方案设计
  • 网站负责人不是法人鼎湖网站建设
  • 建个网站视频教程仿建网站
  • 苏州建设交易中心网站php网站开发专业介绍
  • 找做报纸的背景图去什么网站免费网站空间php
  • 学校网站建设的难点游戏在线玩免费免登录
  • 网站免费做招生宣传做平台网站外包多少钱啊
  • 做网站容易还是做小程序容易南昌网站搭建服务
  • 有意义网站惠州市seo上词
  • 百度做个公司网站要多少钱网站搬家到Wordpress
  • 电商 做图 网站wordpress如何备份数据库结构
  • 济南精品建站外包公司价格网站申请书
  • 西安企业建站公司免费头像在线制作
  • 网站为什么要进行内容更新吗网站版面如何布局
  • 网站底部模板源码优化电脑的软件有哪些
  • 美食网站 源码大型的平台类网站建设需要多少资金
  • 网站界面设计描述抖音关注10元一单兼职
  • 化妆品网站建设实训总结做网站公司常熟
  • 建设网站主机要买什么的好网站建设的简历制作
  • 百度网站下载安装保定外贸网站制作
  • 北京网站设计公司yx成都柚米科技15建设一个网站的流程.
  • 淄博做网站的遂宁网站建设公司哪家好
  • 郑州专业的网站建设公司排名深圳网站建设服务中心
  • 成都网站建设企业惠州建设集团网站
  • 福建泉州网站建设公司哪家好无锡做公司网站多少钱
  • html购物网站源码网站漏洞怎么修复
  • 南京网站制作公司电话iis如何做同时运行两个网站80端口