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

网络营销网站建设设计方案怎么做网站接家纺订单

网络营销网站建设设计方案,怎么做网站接家纺订单,免费网站推广平台,房屋设计图软件免费最小覆盖子串 给你一个字符串 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.yayakq.cn/news/272799/

相关文章:

  • 婚庆网站策划书学生作业制作网站
  • 制作网站对话框广西圣泰建设工程有限公司网站
  • 婚纱网站怎么做湖南长沙网站建设公司
  • 河东做网站公司做网页设计软件有哪些
  • 昆明做网站ynlongtou网站开发获取本地ip
  • 协会网站信息平台建设我赢网seo优化网站
  • 网络网站首页设计2022成都解封倒计时
  • 找人做网站昆明网站建设亇金手指排名十四
  • 怎样开发手机网站建设那些论坛网站做的比较好
  • 坪山商城网站建设哪家效益快汽车商城网站建设
  • 网站建设企业站有哪些要求网络安全行业公司排名
  • 大学生简历制作网站如何使用家里电脑做网站服务器
  • 成都高端建设网站网站必须做可信认证吗
  • 深圳网站建设计怎样进行网站板块建设
  • 做网站的工具 论坛开公司要多少注册资金
  • ftp 企业网站福建省建筑信息平台
  • 门户网站开发需求定制衣服的app
  • 长沙专业网站建设公司排名和各大网站做视频的工作总结
  • 大连市网站制作电话php网站开发用什么php
  • 网站开发公司特点番禺seo培训
  • 百度突然搜不到网站建个人网站有什么好处
  • 如何建设一个好的网站2017网站开发新技术
  • 网站qq一键登录天津做网站好的公司有哪些
  • .net 网站开发教程html网站免费下载
  • 零陵网站建设网站的布局怎么做
  • wordpress 全站密码网络营销与直播电商专升本
  • 网站推广的方式?使用阿里云做镜像网站
  • 网站建设要素公司可以做网站
  • 网站建设的关键事项融资网站建设
  • 网站公司网站搭建苏州工业园区一站式服务中心