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

国务院政府网站发展建设的意见企业网络规划设计方案

国务院政府网站发展建设的意见,企业网络规划设计方案,网络营销建议,深圳宝安区最新通告题目链接 剑指 Offer II 017. 含有所有字符的最短字符串 hard 题目描述 给定两个字符串 s和 t。返回 s中包含 t的所有字符的最短子字符串。如果 s中不存在符合条件的子字符串,则返回空字符串 ""。 如果 s中存在多个符合条件的子字符串,返回任…

题目链接

剑指 Offer II 017. 含有所有字符的最短字符串 hard

题目描述

给定两个字符串 st。返回 s中包含 t的所有字符的最短子字符串。如果 s中不存在符合条件的子字符串,则返回空字符串 ""

如果 s中存在多个符合条件的子字符串,返回任意一个。

注意: 对于 t中重复字符,我们寻找的子字符串中该字符数量必须不少于 t中该字符数量。

示例 1:

输入:s = “ADOBECODEBANC”, t = “ABC”
输出:“BANC”
解释:最短子字符串 “BANC” 包含了字符串 t 的所有字符 ‘A’、‘B’、‘C’

示例 2:

输入:s = “a”, t = “a”
输出:“a”

示例 3:

输入:s = “a”, t = “aa”
输出:“”
解释:t 中两个字符 ‘a’ 均应包含在 s 的子串中,因此没有符合条件的子字符串,返回空字符串。

提示:

  • 1<=s.length,t.length<=1051 <= s.length, t.length <= 10^51<=s.length,t.length<=105
  • st由英文字母组成

分析:

本题用 滑动窗口 求解。

用哈希表 ht记录 t中字符的出现次数。

再用另一个哈希表 hs记录 s滑动窗口区间的字符出现次数。

用两个指针 ij分别维护滑动窗口的左边界 和 右边界。

如果 hs[s[j]] <= ht[s[j]],说明此时的 s[j]依旧是有效字符,区间有效字符数 cnt += 1

如果 hs[s[i]] > ht[s[i]],说明此时的区间内部字符已经超过了 t,所以收缩左区间,hs[s[i]]--i++

如果 cnt == t.size(),说明此时的区间 [l,r]包含了 t的所有字符,所以此时的 s.substr(i,j-i+1)可作为答案之一。

时间复杂度: O(n)O(n)O(n)

代码:

class Solution {
public:string minWindow(string s, string t) {int m = s.size() , n = t.size();if(m < n) return "";unordered_map<char,int> ht,hs;for(auto &c:t) ht[c]++;int len = 1e9,idx = -1;int cnt = 0;for(int i = 0,j = 0;j < m;j++){hs[s[j]]++;if(hs[s[j]] <= ht[s[j]]) cnt++;while(hs[s[i]] > ht[s[i]]){hs[s[i]]--;i++;}if(cnt == n){if(j - i + 1 < len){idx = i;len = j - i + 1;}}}return idx == -1 ? "" : s.substr(idx,len);}
};
http://www.dinnco.com/news/35312.html

相关文章:

  • 做淘客网站 知乎second是什么意思
  • 有专门做宝宝用品的网站吗seo网站关键词排名优化
  • 如何处理公关危机品牌推广百度seo
  • 厦门大型企业网站开发公司磁力神器
  • 以前有个自助建设网站网站seo推广公司靠谱吗
  • 325平台代理seo服务公司招聘
  • 网站建设平台方案设计搜索引擎优化代理
  • wordpress网站首页链接乱码广州白云区新闻头条最新消息今天
  • 河南企业网站建设优化关键词是什么意思
  • 济南自适应网站建设seo和sem的联系
  • 有没有只做软装方案收设计费的网站百度账号怎么注册
  • 境内境外网站区别seo查询系统
  • 企业培训网站网站推广优化外包公司
  • 网站链接提交软文关键词排名推广
  • 别人给我们做的网站如何关闭百度收录入口在哪里
  • 博客可以放自己做的网站外国网站的浏览器
  • 做网站的人多吗独立网站
  • 中山专业外贸网站建设网站优化seo培训
  • 取公司名字大全免费查询windows优化大师是哪个公司的
  • 做包装盒效果图网站朝阳区搜索优化seosem
  • 绵阳网站建设优化阿里指数在线查询
  • 做网站卖赚钱吗seo专员工作内容
  • 与人妖做视频网站济南做网站建设的公司
  • 网站开发费用报价表百度下载百度2023最新版
  • 广州冼村地铁站百度知道合伙人官网
  • 嘉兴app开发公司网站优化排名软件网站
  • 华为开发者seo网站优化服务
  • 安徽网络优化方案seo推广学院
  • 长沙景点分布图seo百科大全
  • 网站界面设计基础排名第一的手机清理软件