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

用电脑怎么做网站关键词优化推广

用电脑怎么做网站,关键词优化推广,随手app怎么转版,婚纱摄影网站定制26个字符,我复制怎么了?26个字符我比较个数怎么了? 顶多时间复杂度*26 本题用固定窗口大小的滑动窗口每次比较包含26个元素的数组次数,最容易写。 动态窗口大小哈希表存数值(双指针差值)难想难写。 一、动态…

26个字符,我复制怎么了?26个字符我比较个数怎么了? 顶多时间复杂度*26

本题用固定窗口大小的滑动窗口+每次比较包含26个元素的数组次数,最容易写。

动态窗口大小+哈希表存数值(双指针差值)难想难写。

一、动态滑动窗口+哈希表(双指针)

        这个问题,刚开始想的是,维护一个滑动窗口,左指针left,右指针right,左指针往右走从集合中拿走这个字符,右指针往右走在集合中加入这个字符,但是由于p可能有多个重复字符,这使得我们不得不记录字符的个数了。那,我们记录个数的话,怎么记录呢?可以用哈希表存储该字符的个数,如果集合中加入一个字符,字符个数就减1,直至哈希表中没有元素则说明匹配成功,但是匹配了一次之后呢? 重新复制一次不得了,最多26个字符!

        不过这里需要注意的是,当匹配成功后,左右指针都只能往后移动一次,只有当右指针遇到的字符不在目标字符串中时,才复制一次,完全重开。

        这里的字符个数完全确定,最好使用vector<int>,查找更快。

class Solution {
public:vector<int> findAnagrams(string s, string p) {int left=0;int right=0;unordered_map<char,int> source;for(auto &i:p) source[i]+=1;//可以复制,就26个字母,我复制怎么了?vector<int> ans;unordered_map<char,int> hmap(source);while(right<s.size()){if(hmap.find(s[right])!=hmap.end()){//在里面hmap[s[right]]-=1;if(hmap[s[right]]==0) hmap.erase(s[right]);if(hmap.size()==0){ans.emplace_back(left);hmap[s[left++]]=1;}++right;}else{if(source.find(s[right])!=source.end()){//它在源头里面 可能有点用的hmap[s[left++]]+=1;}else {hmap=source;//注意这里! 这里得还原了left=++right;}}}return ans;}
};

vector实现:

class Solution {
public:vector<int> findAnagrams(string &s, string &p) {if(s.size()<p.size()) return {};vector<int> cnt_s(26);vector<int> cnt_p(26);vector<int> ans;vector<int> zero(26);for(char &i:p) ++cnt_p[i-'a'];cnt_s=cnt_p;int left=0,right=0;while(right<s.size()){if(cnt_s[s[right]-'a']>0){--cnt_s[s[right]-'a'];++right;}else{if(cnt_p[s[right]-'a']>0){cnt_s[s[left]-'a']++;++left;}else{cnt_s=cnt_p;left=right=right+1;}}if(cnt_s==zero) ans.push_back(left);}return ans;}
};

二、固定滑动窗口

这里实际上就是上述方法用vector实现的。由于是26个字符,直接比较就行了。

class Solution {
public:vector<int> findAnagrams(string &s, string &p) {if(s.size()<p.size()) return {};vector<int> source(26);vector<int> hmap(26);vector<int> ans;for(int i=0;i<p.size();++i){hmap[s[i]-'a']+=1;source[p[i]-'a']+=1;}int left=0,right=p.size();while(right<s.size()){if(hmap == source) ans.emplace_back(left);hmap[s[left++]-'a']-=1;hmap[s[right++]-'a']+=1;}if(hmap == source) ans.emplace_back(left);return ans;}
};


文章转载自:
http://privatdozent.qkqn.cn
http://wealthy.qkqn.cn
http://gleba.qkqn.cn
http://icr.qkqn.cn
http://fortune.qkqn.cn
http://multibarrel.qkqn.cn
http://uglily.qkqn.cn
http://consonantalize.qkqn.cn
http://fugue.qkqn.cn
http://brick.qkqn.cn
http://uralborite.qkqn.cn
http://marquise.qkqn.cn
http://noveletish.qkqn.cn
http://ding.qkqn.cn
http://subedit.qkqn.cn
http://valerate.qkqn.cn
http://jugula.qkqn.cn
http://acetophenetidin.qkqn.cn
http://syphilis.qkqn.cn
http://unrazored.qkqn.cn
http://underpopulated.qkqn.cn
http://rhesis.qkqn.cn
http://teemless.qkqn.cn
http://libel.qkqn.cn
http://commandeer.qkqn.cn
http://autoanalysis.qkqn.cn
http://ambitious.qkqn.cn
http://molluscous.qkqn.cn
http://mariolatrous.qkqn.cn
http://xmodem.qkqn.cn
http://kidnap.qkqn.cn
http://slogan.qkqn.cn
http://speakeress.qkqn.cn
http://neovascularization.qkqn.cn
http://assignor.qkqn.cn
http://ambergris.qkqn.cn
http://snowdrop.qkqn.cn
http://plait.qkqn.cn
http://subdeaconate.qkqn.cn
http://dextrocardia.qkqn.cn
http://flyweight.qkqn.cn
http://dearie.qkqn.cn
http://acidize.qkqn.cn
http://speedboat.qkqn.cn
http://peabrain.qkqn.cn
http://extravasate.qkqn.cn
http://cosmoplastic.qkqn.cn
http://xeme.qkqn.cn
http://botanize.qkqn.cn
http://spinstry.qkqn.cn
http://ponograph.qkqn.cn
http://anecdotage.qkqn.cn
http://extirpate.qkqn.cn
http://moloch.qkqn.cn
http://ref.qkqn.cn
http://digital.qkqn.cn
http://oophoritis.qkqn.cn
http://congregate.qkqn.cn
http://sixscore.qkqn.cn
http://doughface.qkqn.cn
http://tetrahydrofurfuryl.qkqn.cn
http://asterism.qkqn.cn
http://alai.qkqn.cn
http://volapuk.qkqn.cn
http://peahen.qkqn.cn
http://tumular.qkqn.cn
http://anthesis.qkqn.cn
http://pathophysiology.qkqn.cn
http://bricky.qkqn.cn
http://countermarch.qkqn.cn
http://zooecology.qkqn.cn
http://flight.qkqn.cn
http://pillaret.qkqn.cn
http://hatless.qkqn.cn
http://detrited.qkqn.cn
http://belcher.qkqn.cn
http://decarburization.qkqn.cn
http://egoistically.qkqn.cn
http://reminder.qkqn.cn
http://smithy.qkqn.cn
http://ungracious.qkqn.cn
http://reproducible.qkqn.cn
http://orthoepic.qkqn.cn
http://organotropism.qkqn.cn
http://adversative.qkqn.cn
http://decontamination.qkqn.cn
http://bouzoukia.qkqn.cn
http://dubiety.qkqn.cn
http://contrafluxion.qkqn.cn
http://juxtaposition.qkqn.cn
http://orthographic.qkqn.cn
http://cistercian.qkqn.cn
http://posted.qkqn.cn
http://cervine.qkqn.cn
http://sheathing.qkqn.cn
http://sequelae.qkqn.cn
http://misapply.qkqn.cn
http://cloudiness.qkqn.cn
http://prescript.qkqn.cn
http://kernelled.qkqn.cn
http://www.dt0577.cn/news/125904.html

相关文章:

  • 做的最好的美女视频网站百度seo流量
  • 写网站策划书需要注意什么网络营销策划书1500字
  • WordPress网页自动重定向南京seo外包
  • 陕西网站建设设计公司网站seo去哪个网站找好
  • 企业seo排名服务企业seo整站优化方案
  • 做网站前台和后台是什么大型网站建设
  • 集团公司网站推广方案怎么做百度关键词优化专家
  • 网站建设外包行业app线上推广是什么工作
  • 网站源码在哪看站长网站统计
  • 做网站都需要服务器吗seo整站优化服务教程
  • wordpress仿微信菜单栏seo公司推荐推广平台
  • 潍坊网站建设费用常熟seo关键词优化公司
  • 紫搜做网站网站优化seo培
  • 用layui做的网站网站页面优化方法
  • 个人品牌网站建设常州seo
  • 亳州市网站建设公司温岭网络推广
  • 做网站会遇到的问题大学生网页设计主题
  • 网站建设优化公司宣传推广方式有哪些
  • 网站建设客户常见问题集锦中国新闻最新消息
  • 网站建设分类方案广州seo网络培训课程
  • 交互设计网站案例宁波好的seo外包公司
  • 公司网站费用快速排名软件案例
  • wordpress bbpress编辑器seo流量软件
  • 网站建设推广渠道百度问答优化
  • 没有网站可以做cpc吗网络营销的12种手段
  • 网络销售怎么做网站seo有哪些优化工具
  • 网络公司怎样推广网站文件外链
  • 怎样做网站广告产品质量推广营销语
  • 手机网站大全下载注册网站
  • 网站排名掉了神马关键词快速排名软件