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

vs2013做网站保存的格式中国建设银行官网登录首页

vs2013做网站保存的格式,中国建设银行官网登录首页,域名申请了怎么做网站,西安网页设计师培训班题目链接 串联所有单词的子串 题目描述 注意点 words[i] 和 s 由小写英文字母组成1 words.length 5000可以以 任意顺序 返回答案words中所有字符串长度相同 解答思路 根据滑动窗口哈希表解决本题#xff0c;哈希表存储words中所有的单词及单词的出现次数#…题目链接 串联所有单词的子串 题目描述 注意点 words[i] 和 s 由小写英文字母组成1 words.length 5000可以以 任意顺序 返回答案words中所有字符串长度相同 解答思路 根据滑动窗口哈希表解决本题哈希表存储words中所有的单词及单词的出现次数滑动窗口时使用另一个哈希表存储当前窗口内已经出现的单词及单词的出现次数因为words中所有字符串长度相同所以在移动滑动窗口右边界时应该以单词为维度每次移动wordLen个单位然后判断该部分单词rightWord是否能作为串联串联所有单词的子串的一部分有以下三种情况 如果rightWord根本不属于words中的单词说明包含该单词时的子串一定不满足题意此时需要将滑动窗口直接移动到该单词右侧也就是直接重置滑动窗口的左右边界如果rightWord属于words中的单词但是当前滑动窗口中该单词数量已经达到words中该单词的最大数量此时需要移动滑动窗口的左边界移动时每次也同样移动wordLen个单位直到左侧找到一个与rightWord相同的值leftWord一定能找到将滑动窗口左边界移动到leftWord右侧如果rightWord属于words中的单词且当前滑动窗口中该单词数量还未超过words中该单词的最大数量此时满足题意继续移动滑动窗口右边界注意判断该滑动窗口已经是串联所有单词的子串的情况 上述过程并未判断所有情况因为每次移动边界时都是以wordLen为单位如果从字符串首位置开始可能会忽略1,2…(wordLen - 1)为起始位置的情况观察规律可得只需要对1,2…(wordLen - 1)为起始位置都执行一次上述的操作就可以考虑到所有的情况 代码 class Solution {public ListInteger findSubstring(String s, String[] words) {ListInteger res new ArrayList();int wordSum words.length;int wordLen words[0].length();if (s.length() wordSum * wordLen) {return res;}MapString, Integer map new HashMap();for (String word : words) {map.put(word, map.getOrDefault(word, 0) 1);}for (int i 0; i wordLen; i) {int left i;int right i;int currWordSum 0;MapString, Integer visitedMap new HashMap();while (right wordLen s.length()) {// 长度越界剩下的子串一定无法串联所有单词if (left (wordSum - currWordSum) * wordLen s.length()) {break;}String leftWord s.substring(left, left wordLen);String rightWord s.substring(right, right wordLen);// 该单词不存在则有该单词的部分都一定不满足题意将滑动窗口左边界移动至该单词右侧if (map.get(rightWord) null) {left right wordLen;visitedMap new HashMap();currWordSum 0;}// 该单词存在但words中已经没有该单词if (map.get(rightWord) ! null visitedMap.getOrDefault(rightWord, 0) map.get(rightWord)) {while (left right !rightWord.equals(leftWord)) {visitedMap.put(leftWord, visitedMap.get(leftWord) - 1);left wordLen;leftWord s.substring(left, left wordLen);currWordSum--;}left wordLen;}// 该单词存在满足题意if (map.get(rightWord) ! null visitedMap.getOrDefault(rightWord, 0) map.get(rightWord)) {visitedMap.put(rightWord, visitedMap.getOrDefault(rightWord, 0) 1);currWordSum;// 已找到串联所有单词的子串if (currWordSum wordSum) {res.add(left);visitedMap.put(leftWord, visitedMap.get(leftWord) - 1);currWordSum--;left wordLen;}}right wordLen;}}return res;} }关键点 滑动窗口的思想移动滑动窗口时其对应的哈希表的变化移动滑动窗口右边界时对应单词是否是串联所有单词的子串的三种情况
http://www.w-s-a.com/news/801098/

相关文章:

  • 在线网站代码生成我想做个百度网站怎么做
  • 网站的建设费用分为长治市建设厅官方网站
  • 做网站都有哪些费用建设免费手机网站
  • 网站 组成代码做网站图片怎么插
  • 2020中国企业500强榜单南宁seo标准
  • 北美购物网站排名烟台专业的网站建站公司
  • 门户网站设计特点营销策划咨询机构
  • 天津做网站就到徽信xiala5中国营销型网站
  • 外汇网站建设制作深圳三站合一网站建设
  • 深圳坂田网站设计公司有哪些学校网站建设管理办法
  • 太原建设银行网站中山营销型网站设计
  • 广东省建设厅官方网站多少钱江苏省江建集团有限公司建设网站
  • 网站开发主流服装网站开发课程设计
  • 在iis里面创建网站wordpress响应式视频
  • 学设计哪个网站好网页设计音乐网站
  • 可以自己做斗图的网站上海模板建站多少钱
  • 山东川畅信息技术有限公司网站建设网站开发任务书
  • 网站排版设计欣赏搭建公司介绍网站
  • 网站弹窗是怎么做的长沙智优营家
  • 手机网站菜单设计模板菜单网站图片素材
  • 浙江网站推广爱企查企业查询入口
  • 公司网站平台vs2012网站开发课程设计
  • 哪些方法可以建设网站做网站失败
  • 龙岗网站建设技术wordpress左右两栏
  • 电子商务网站开发与应用的介绍怎么查询域名是否备案
  • 想做一个自己设计公司的网站怎么做的权威发布型舆情回应
  • 做ppt用的音效网站python基础教程网易
  • 可以做免费广告的网站有哪些做视频赚钱的国外网站
  • 苏州做物流网站电话郑州网站高端网站设计
  • 网站建设音乐插件怎么弄wordpress添加数据库文件