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

浏览器测试手机网站百度新闻头条新闻

浏览器测试手机网站,百度新闻头条新闻,高校校园网站建设培训班,用网站做淘宝客的人多吗题目:30. 串联所有单词的子串 思路:哈希表字符串滑动窗口,时间复杂度0(mlen)。 因为每个字符串的长度都相等,在维护窗口i~imlen的元素出现情况后,可以从ilen处继续往后移动。细节看注释。 C版本: class S…

题目:30. 串联所有单词的子串

在这里插入图片描述
在这里插入图片描述
思路:哈希表+字符串+滑动窗口,时间复杂度0(mlen)。
因为每个字符串的长度都相等,在维护窗口i~i+m
len的元素出现情况后,可以从i+len处继续往后移动。细节看注释。

C++版本:

class Solution {
public:vector<int> findSubstring(string s, vector<string>& words) {// 答案vector<int> v;int n=s.size();int m=words.size();int len=words[0].size();if(n<m*len) return v;// 从0~len-1开始遍历for(int i=0;i<len&&i+m*len<=n;i++){// 哈希表unordered_map<string,int> mp;//把words的元素都+1for(auto x:words){mp[x]++;}// 先维护窗口i~i+m*len的元素出现情况for(int j=0;j<m;j++){string t=s.substr(i+j*len,len);mp[t]--;if(mp[t]==0){mp.erase(t);}}// 如果哈希表为空,说明刚好匹配if(mp.size()==0) v.push_back(i);// 因为每个字符串的长度都相等,所以可以从i+len处继续往后移动for(int j=i+len;j+m*len<=n;j+=len){// 加入新的字符串string t=s.substr(j+(m-1)*len,len);mp[t]--;if(mp[t]==0) mp.erase(t);// 删掉旧的字符串t=s.substr(j-len,len);mp[t]++;if(mp[t]==0) mp.erase(t);// 如果哈希表为空,说明刚好匹配if(mp.size()==0) v.push_back(j);}}return v;}
};

JAVA版本:

class Solution {public List<Integer> findSubstring(String s, String[] words) {List<Integer> v=new ArrayList<>();int n=s.length();int m=words.length;int len=words[0].length();if(n<m*len) return v;for(int i=0;i<len&&i+m*len<=n;i++){Map<String,Integer> mp=new HashMap<>();for(var x:words){mp.merge(x,1,Integer::sum);}for(int j=0;j<m;j++){String t=s.substring(i+j*len,i+(j+1)*len);mp.merge(t,-1,Integer::sum);if(mp.get(t)==0){mp.remove(t);}}if(mp.isEmpty()) v.add(i);for(int j=i+len;j+m*len<=n;j+=len){String t=s.substring(j+(m-1)*len,j+m*len);mp.merge(t,-1,Integer::sum);if(mp.get(t)==0) mp.remove(t);t=s.substring(j-len,j);mp.merge(t,1,Integer::sum);if(mp.get(t)==0) mp.remove(t);if(mp.isEmpty()) v.add(j);}}return v;}
}

GO版本:

func findSubstring(s string, words []string) []int {v:=[]int{}n,m:=len(s),len(words)lens:=len(words[0])if n<m*lens {return v}for i:=0;i<lens&&i+m*lens<=n;i++ {mp := make(map[string]int)for j:=0;j<m;j++ {mp[words[j]]++}for j:=0;j<m;j++ {t:=s[i+j*lens:i+(j+1)*lens]mp[t]--if mp[t]==0 {delete(mp,t)}}if len(mp) == 0 {v = append(v, i)}for j:=i+lens;j+m*lens<=n;j+=lens {t:=s[j-lens:j]mp[t]++if mp[t]==0 {delete(mp,t)}t=s[j+(m-1)*lens:j+m*lens]mp[t]--if mp[t] ==0 {delete(mp,t)}if len(mp) == 0 {v = append(v, j) }}}return v
}
http://www.dtcms.com/wzjs/60370.html

相关文章:

  • 龙华新区网站建设口碑营销的优缺点
  • 专业网站建设课程河南纯手工seo
  • 快速做网站公司报价百度163黄页关键词挖掘
  • 备案期间 需要关闭网站自己的网站怎么样推广优化
  • 大同网站建设制作百度收录工具
  • 福田做网站福田网站建设福田建网站500北京关键词快速排名
  • 网站制作主要公司嘉峪关seo
  • 建网站的网络公司的名称以及服务网球新闻最新消息
  • 安徽省建设厅网站证书查询企业seo排名费用报价
  • 网站开发设计怎么样营销技巧和话术
  • b2b企业网站推广google登录
  • 网站换域名怎么办虎门今日头条新闻
  • 如何注册微信公众平台优化网站有哪些方法
  • 做网站要学习什么如何做网站营销推广
  • 手机 网站模板快速开发平台
  • 龙岩网站制作多少钱信息流优化师简历
  • 网站banner分辨率最好用的免费建站平台
  • 做视频网站犯法吗谷歌seo价格
  • 做交互网站关键词林俊杰mp3免费下载
  • 国际新闻今天关键词排名优化官网
  • vultr 做网站空间网站建设是什么
  • b2b网站排行榜公司seo是什么职位
  • 旅游业网站建设免费b2b推广网站
  • 网站怎么做双机房切换长沙seo优化服务
  • 网站播放功能难做吗百度人工投诉电话是多少
  • wordpress技术论坛南宁百度快速排名优化
  • 成立公司需要多少注册资金淘宝关键词优化软件
  • 网页设计岗位职责seoapp推广
  • 织梦做的网站图片路径在哪天津seo霸屏
  • 网站更换服务器怎么做广州seo外包公司