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

信誉好的盐城网站开发百度收录排名查询

信誉好的盐城网站开发,百度收录排名查询,免费logo设计网址,做网站的视频的软件 cs最小覆盖子串 给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 “” 。 注意: 对于 t 中重复字符,我们寻找的子字符串中该字符数量必须不少于 t 中该字符数量…

最小覆盖子串

给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 “” 。

注意:

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

  • 如果 s 中存在这样的子串,我们保证它是唯一的答案。

示例 1:

输入:s = "ADOBECODEBANC", t = "ABC"
输出:"BANC"
解释:最小覆盖子串 "BANC" 包含来自字符串 t 的 'A'、'B' 和 'C'。

示例 2:

输入:s = "a", t = "a"
输出:"a"
解释:整个字符串 s 是最小覆盖子串。

示例 3:

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

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/minimum-window-substring

移动窗口解题思路

移动窗口,通过哈希表存放模板字符频数,利用左右窗口的动态移动,找到包含所有模板字符的窗口子串,再通过对比,得到最小的子串。

  1. 首先通过size确定窗口内的字符种类数与模板字符串的字符种类数相同。
  2. 窗口变化时,没到遇到一个模板字符内出现的字符都去哈希表中减少相应键的值,当某一个键值为0时,表示窗口内该字符出现的次数已经等于模板内该字符出现的次数。
  3. 同时满足了上面两种情况时,即窗口内字符包含所有种类的模板字符,且每一种字符出现的次数都大于等于模板字符串内的字符出现的次数时,得到合法的子串。
  4. 将得到的子串与上一次子串相比,取长度较小的子串并再次保存。直到循环结束。

代码

/*** @param {string} s* @param {string} t* @return {string}*/
var minWindow = function(s, t) {  let map = new Map();//哈希表用来统计模板字符中,相同字符出现的次数let nowChar= "";let result="";for(let i=0;i<t.length;i++){map.set(t[i],(map.get(t[i])||0)+1)//统计频率}let size = map.size;//记录窗口内字符对模板字符串的字符种类的抵消数,为0时表示窗口内包含所有种类字符串let l = 0;//定义左窗口for(let r=0;r<s.length;r++){//对右窗口依次遍历if(map.has(s[r])) map.set(s[r],map.get(s[r])-1);//当右窗口遇到模板字符串内含有的字符时,给相对应的该字符键对应的值减1if(map.get(s[r])===0) size--;//当循环中遇到哈希表中值为0的键时,对记录的字符种类数减1while(!size){//当循环到使字符种类数为0时,即窗口中现在包含所有的模板字符串。准备移动左窗口nowChar=s.substring(l,r+1);//因为此时窗口内字符串符合要求,所有我们先截取它们并保存到临时字符串中if(map.has(s[l])){//移动左窗口前,先判断左窗口是否为模板字符串的字符种类数中的一种,即是否在哈希表中//如果左窗口的字符时模板字符串中的一种,移动势必回导致窗口内的字符(模板字符串内的那几种字符)频率发生变化,即相应字符减少一个map.set(s[l],map.get(s[l])+1);//所有哈希表的该字符频数恢复一个if(map.get(s[l])==1){//当一个字符的频数恢复到1时,我们需要知道,窗口内即将少一种模板字符串内的种类size++;//给记录抵消数的size加1再进入下一次循环if(!result || result.length>nowChar.length) result = nowChar;//此时记录对比保存小的字符串。}}l++;//如果不在,则左窗口向右移动一位}}return result;
};
http://www.hrbkazy.com/news/33174.html

相关文章:

  • jsp网站开发技术淘宝宝贝关键词排名查询工具
  • wordpress 批量改日期seo技巧与技术
  • 做简历的网站有seo sem是什么职位
  • 关于建设网站群的报告厦门关键词排名优化
  • 中国建设银行官方网站网络推广团队
  • 门户网站 布局如何优化关键词排名到首页
  • 哪个网站可以做h5页面今日油价92汽油价格
  • 山东住房和城乡建设厅网站电话外链服务
  • 怎样在网站做咨询医生挣钱小学生收集的新闻10条
  • 网站开发ceil(5.5)seo属于什么职位类型
  • WordPress插件手动北京网站优化怎么样
  • 怎么做网站推广林芝地区seo竞价推广
  • 泊头做网站百度竞价托管一月多少钱
  • 网站开发人员职责seo在线推广
  • 做网站的价格是多少免费网站推广平台
  • 企业网站打不开什么原因百度认证是什么
  • 长沙美容网站建设深圳seo优化公司哪家好
  • 如何在网站做qq群链接企业文化是什么
  • 网站建设什么牌子好长沙专业seo优化公司
  • 如何做网站滚动条杭州seo俱乐部
  • 网站风格化设计方案百度官方版
  • 徐州最好网站建设中国十大知名网站
  • wordpress-5.0升级未被安装杭州余杭区抖音seo质量高
  • 做爰在线网站腾讯控股第三季度营收1401亿
  • 凡科做公司网站怎么收费关键词歌曲免费听
  • 西安哪家公司做的网站好做网站关键词优化的公司
  • 大连网站建设报价优质商家如何建造一个网站
  • wordpress如何构建页面网站首页关键词如何优化
  • 企业网站搜索优化外长沙seo霜天
  • 标题优化seo宁波seo网站