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

网站建设模板素材猪八戒包装设计

网站建设模板素材,猪八戒包装设计,php7安装 WordPress,新手学做网站下载1. 问题描述 给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串#xff0c;则返回空字符串 “” 。 注意#xff1a; 对于 t 中重复字符#xff0c;我们寻找的子字符串中该字符数量必须不少于 t 中该字符数量…1. 问题描述 给你一个字符串 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 的子串中 因此没有符合条件的子字符串返回空字符串。 2. 思路 题目要求寻找最小连续子串那么第一个反应就是用滑动窗口求解。滑动窗口移动思路如下 如果当前滑动窗口内没有涵盖t中的所有字符那么窗口的右侧指针继续向右移动扩大窗口。如果当前滑动窗口内涵盖了t中的所有字符那么窗口的左侧指针可以向右移动缩小窗口寻找最小子串直到滑动窗口内无法涵盖t中的所有字符。 移动思路其实比较容易得到那么还有几个问题 由于t中会有重复字符因此我们应该记录t中各个字符的数量。拿什么记录如何判断当前滑动窗口涵盖了t中的所有字符 我一开始的思路是用HashMap字符当作key个数当作value。把字符串t和当前窗口都用两个Map表示。判断当前滑动窗口涵盖了t中的所有字符就将两个map中的键值对都拿出来一一比较只要当前窗口Map的value都大于等于t字符串那就说明涵盖。但这样有个问题我个人对map的遍历取值操作不太熟悉而且感觉使用Map有点重那么有没有别的数据结构可以代替呢 突然想起来可以用数组而且数组在存放时也可以达到O(1)在这道题和Map似乎没有差别。思路如下 由于本题字符串中只有英文字母因此我可以根据ASCII码建立一个数组数组长度就是’A’ - a’的值。这样每一个字符就有固定对应的存放位置可以保存他出现的次数。还是将字符串t和当前窗口都用两个数组表示。判断当前滑动窗口是否涵盖了t中的所有字符那就只需要对两个数组进行比较当前窗口的数组中的每个位置的元素都应该大于等于t字符串。这个操作就很简单了。 3. 代码 public String minWindow(String s, String t) {//滑动窗口的左指针int left 0;//记录最小字串的长度int minLen 100001;//记录最小子串的起始位置int start 0;//t字符串抽象成的数组保存每一个字符出现的次数int[] tArray new int[58];for(int i 0; i t.length(); i) {tArray[t.charAt(i) - A];}//当前滑动窗口抽象成的数组保存每一个字符出现的次数int[] temp new int[58];for(int right 0; right s.length(); right) {//先将这个字符加入到滑动窗口中temp[s.charAt(right) - A];//如果滑动窗口涵盖了字符串twhile(concludeT(temp, tArray)) {//更新最小子串if(minLen right - left 1) {minLen right - left 1;start left;}//左指针向右移动temp[s.charAt(left) - A]--;left;}}return minLen 100001 ? : s.substring(start, start minLen);}//判断当前滑动窗口是否涵盖了t字符串private Boolean concludeT(int[] temp, int[] tArray) {for(int i 0; i temp.length; i) {if(temp[i] tArray[i]) {return false;}}return true;}
http://www.yingshimen.cn/news/110530/

相关文章:

  • 建立个人网站流程人工智能软件定制
  • 做网站系统电商怎么做?如何从零开始学做电商赚钱
  • 智能建站软件哈尔滨网站制作工程
  • ppt做会动彩字网站大连网站建设公司哪家好
  • 风格活泼的网站设计国内外十大免费crm视频软件
  • 上海网站建设哪家技术好网站开发主流
  • 网页游戏排行nvsheng宁波关键词排名优化平台
  • 网站建设主要产品天猫商城官网下载
  • wordpress豆瓣小站ui网页设计图
  • 网站支持ipv6做哪些改造直播开发
  • 网站建设中最基本的决策之一是网站群发软件
  • 企业门户网站开发要多少钱网站建设相关文章
  • 做旅游在网上用什么网站推广如何使用免费的wordpress
  • 网站设计培训成都做类似淘宝的网站需多少资金
  • 苏州要服务网站建设设计说明室内设计现代简约
  • 门户网站建设计入什么科目网站备案邮寄资料
  • 滁州网站建设推广页面设置
  • 网站建设属于IT百度网页入口官网
  • 网站用哪些系统做的比较好用软件技术职业
  • wordpress类似网站怎么查看网站开发人
  • 建设网站的规划书网页制作要学什么课程
  • 个性化网站定制价格一个网站源代码概多大
  • 网站网络优化服务器如何创建网站的快捷方式到桌面
  • 蓝色网站设计凡客生活
  • 网站建设三剑客艺术字体logo设计生成器
  • 公司做影视网站侵权评论插件 wordpress
  • 韩国儿童才艺网站建设模板网页制作百度百科
  • 电商网站建设推广网页素材网
  • 怎么做一个网站怎么样搜款网站一起做网店
  • 网站产品展示单页模板物流wap网站模板