当前位置: 首页 > 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/54310.html

相关文章:

  • 研发一个app费用sem优化软件选哪家
  • 设计网红店铺网站的优化策略方案
  • 买目录做网站电商关键词查询工具
  • 临沂网网站建设郑州网站运营
  • 网站建设自助建站网络营销方案3000字
  • frontpage可以做网站吗推广平台收费标准
  • vps除了做网站还能做什么电子商务与网络营销题库
  • go语言网站开发网站关键词排名外包
  • 网站建设及验收标准微博今日热搜榜
  • 中国房地产最新消息深圳关键词排名优化系统
  • 攸县网站开发关键词优化软件有哪些
  • 天津高端视频制作公司seo公司 彼亿营销
  • 如何做b2b网站推广谷歌chrome手机版
  • 句容做网站电脑培训学校哪家最好
  • 沧州网站建设制作百度百科官网首页
  • 做ppt音乐模板下载网站下载优化大师并安装
  • 网站怎么添加流量企业网站建设方案策划
  • 四川建设发展股份有限公司网站网络推广和网络营销的区别
  • 潍坊网站建设制作广州优化营商环境条例
  • 免费做长图网站东莞seo外包公司哪家好
  • 扫二维码进入个人的购物网站如何做视频网站搭建
  • 做app的网站有哪些功能刷百度关键词排名优化
  • 如何制作自己的网站链接视频湖南正规seo优化
  • 建筑工程招标网移动端排名优化软件
  • 网页版qq音乐登录入口福州百度推广排名优化
  • 劫持别人的网站做违法的事会怎么样北京百度seo公司
  • 工会网站开发需求分析seo产品优化免费软件
  • 网站流量少怎么做活动营销方案
  • 广告传媒公司简介范文seo是什么seo怎么做
  • 广州网站开发技术广告优化师工资一般多少