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

沈阳单页网站制作广州网络广告推广公司

沈阳单页网站制作,广州网络广告推广公司,如何在一个空间做2个网站,赚钱平台网站30.串联所有单词的子串 我的解法: 滑动窗口: 解法中用到了两个哈希表map1和map2,分别用于记录words中各个单词的出现频数和当前滑动窗口[left, right)中单词的出现频数;外部for循环i从0到len - 1,内部while循环每次会…

30.串联所有单词的子串

我的解法:

滑动窗口:

  • 解法中用到了两个哈希表map1和map2,分别用于记录words中各个单词的出现频数和当前滑动窗口[left, right)中单词的出现频数;
  • 外部for循环i从0到len - 1,内部while循环每次会让滑动窗口滑动len步,即开头位置为i时,这一轮就可以遍历到i + k*len开头的子串,因此i取0到len - 1可以覆盖所有的子串开头情况;
  • 内部while循环每次先取right开头的长度为len的子串tmp,判断tmp是否是words中的单词:
    • 不是则更新窗口左端点,清空count和哈希表map2
    • 属于words中的单词时count加1,更新哈希表map2,若tmp重复出现了,则要收缩滑动窗口左端,并更新count和map2(注意判断重复出现这里用的是while循环)
class Solution {
public:vector<int> findSubstring(string s, vector<string>& words) {vector<int> res;if(s.empty() || words.empty()){return res;}int len = words[0].size();int size = words.size();unordered_map<string, int> map1;for(auto w : words){map1[w]++;}for(int i = 0; i < len; ++i){int left = i, right = i;int count = 0;unordered_map<string,int> map2;while(right + len <= s.size()){string tmp = s.substr(right, len);right += len;if(map1.count(tmp) == 0){left = right;count = 0;map2.clear();}else{count++;map2[tmp]++;while(map1[tmp] < map2[tmp]){string re_word = s.substr(left, len);count--;map2[re_word]--;left += len;}if(count == size){res.push_back(left);}}}}return res;}
};

http://www.ds6.com.cn/news/122361.html

相关文章:

  • 做网站简单还是写程序关键词查询网站的工具
  • 做外贸都有哪些好网站淘宝怎么优化关键词步骤
  • 嵌入式网站开发学习重庆seo杨洋
  • 汕头免费建设网站制作简单网站建设优化推广
  • 做博客网站需要工具吗原创文章代写
  • wordpress bt主题重庆seo薪酬水平
  • 军人运动会官方网站建设目标上海网络推广专员
  • 张家界做网站公司百度权重3的网站值多少
  • 徐州seo管理东莞公司seo优化
  • wordpress修改产品价格搜索引擎优化seo论文
  • wordpress文章在那个文件夹百度推广优化怎么做的
  • 网站上社保做增员怎么做seo优化顾问
  • 怎样用模块做网站鞍山seo优化
  • iis5.1 新建网站推广引流吸引人的标题
  • 网站建设原则包括哪些内容seo和sem分别是什么
  • 做外贸需要几个网站南京关键词网站排名
  • php网站开发工作描述怎样建立自己网站
  • 网站设计推广方案学做网站需要学什么
  • 中医院网站素材nba最新消息新闻报道
  • 上海协策网站宁波seo深度优化平台
  • 安徽省和城乡建设厅网站旺道seo
  • 深圳学校网站定制设计技能培训班有哪些
  • 扁平化设计风格网站微信广告平台
  • 芙蓉区网站建设公司咸阳网络推广
  • 自建网站如何被百度收录云搜索系统
  • 怎样做网站呢 优帮云个人博客网站搭建
  • 做网站有必要?seo关键词优化
  • 海南日报官网seo在线培训机构排名
  • 客户关系管理理论安卓优化大师老版本
  • 购物网站开发可行性分析怎么写百度广告联盟点击一次多少钱