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

校园门户网站建设公司购物网站含有哪些模块

校园门户网站建设公司,购物网站含有哪些模块,制作一个响应式网站开发工具,go做的网站力扣labuladong一刷day9滑动窗口共4题 文章目录 力扣labuladong一刷day9滑动窗口共4题一、76. 最小覆盖子串二、567. 字符串的排列三、438. 找到字符串中所有字母异位词四、3. 无重复字符的最长子串 一、76. 最小覆盖子串 题目链接:https://leetcode.cn/problems/m…

力扣labuladong一刷day9滑动窗口共4题

文章目录

      • 力扣labuladong一刷day9滑动窗口共4题
      • 一、76. 最小覆盖子串
      • 二、567. 字符串的排列
      • 三、438. 找到字符串中所有字母异位词
      • 四、3. 无重复字符的最长子串

一、76. 最小覆盖子串

题目链接:https://leetcode.cn/problems/minimum-window-substring/
思路:典型的滑动窗口题目,使用一个map记录所必须的字符个数,使用另外一个map去记录滑动窗口内部的need字符,一旦need所需的个数都满足以后,就开始缩小滑动窗口,在缩小滑动窗口的过程中不断记录最小的窗口长度以及窗口的起始点,并且在map不满足need时结束缩小窗口,继续扩大窗口。

class Solution {public String minWindow(String s, String t) {Map<Character, Integer> need = new HashMap<>();Map<Character, Integer> window = new HashMap<>();int left = 0, right = 0, valid = 0;int start = 0, max = Integer.MAX_VALUE;for (char c : t.toCharArray()) {need.put(c, need.getOrDefault(c, 0)+1);}while (right < s.length()) {char c = s.charAt(right);right++;if (need.containsKey(c)) {window.put(c, window.getOrDefault(c, 0)+1);if (window.get(c).equals(need.get(c))) {valid++;}}while (valid == need.size()) {if (right - left < max) {start = left;max = right-start;}char cl = s.charAt(left);left++;if (need.containsKey(cl)) {if (window.get(cl).equals(need.get(cl))) valid--;window.put(cl, window.get(cl)-1);}}}return max == Integer.MAX_VALUE ? "" : s.substring(start, start+max);}
}

二、567. 字符串的排列

题目链接:https://leetcode.cn/problems/permutation-in-string/
思路:本题要求s1是s2子串的排列,那就是要求s1与s2的子串长度要相等,那就是我们只需要控制滑动窗口的长度等于子串长度即可,长度相等时只要s1中的字符都出现了即可返回,然后就是正常缩小窗口,再扩大窗口。

class Solution {public boolean checkInclusion(String s1, String s2) {Map<Character, Integer> need = new HashMap<>();Map<Character, Integer> window = new HashMap<>();int left = 0, right = 0, valid = 0;for (char c : s1.toCharArray()) {need.put(c, need.getOrDefault(c, 0) + 1);}while (right < s2.length()) {char c = s2.charAt(right);right++;if (need.containsKey(c)) {window.put(c, window.getOrDefault(c, 0)+1);if (window.get(c).equals(need.get(c))) valid++;}while (right - left == s1.length()) {if (valid == need.size()) {return true;}char cl = s2.charAt(left);left++;if (need.containsKey(cl)) {if (window.get(cl).equals(need.get(cl))) valid--;window.put(cl, window.get(cl)-1);}}}return false;}
}

三、438. 找到字符串中所有字母异位词

题目链接:https://leetcode.cn/problems/find-all-anagrams-in-a-string/
思路:和上一题基本差不多,也是要求p与s的子串长度相等,我们只需要控制窗口等于p的长度即可,然后在其中判断。

class Solution {public List<Integer> findAnagrams(String s, String p) {List<Integer> list = new ArrayList<>();Map<Character, Integer> need = new HashMap<>();Map<Character, Integer> window = new HashMap<>();int left = 0, right = 0, valid = 0;for (char c : p.toCharArray()) {need.put(c, need.getOrDefault(c, 0)+1);}while (right < s.length()) {char cr = s.charAt(right);right++;if (need.containsKey(cr)) {window.put(cr, window.getOrDefault(cr, 0)+1);if (window.get(cr).equals(need.get(cr))) valid++;}if (right - left == p.length()) {if (valid == need.size()) {list.add(left);}char cl = s.charAt(left);left++;if (need.containsKey(cl)) {if (window.get(cl).equals(need.get(cl))) valid--;window.put(cl, window.get(cl)-1);}}}return list;}
}

四、3. 无重复字符的最长子串

题目链接:https://leetcode.cn/problems/longest-substring-without-repeating-characters/
思路:求无重复字符串的最长子串,只需要用map收集字符即可,只要当前字符个数大于1即可开始缩小滑动窗口,直到当前字符的个数不再大于1.
最大长度max的记录放在最后。

class Solution {public int lengthOfLongestSubstring(String s) {Map<Character, Integer> map = new HashMap<>();int left = 0, right = 0, max = 0;while (right < s.length()) {char c = s.charAt(right);right++;map.put(c, map.getOrDefault(c, 0)+1);while (map.get(c) > 1) {char cl = s.charAt(left);left++;map.put(cl, map.get(cl)-1);}max = Math.max(max, right - left);}return max;}
}
http://www.yayakq.cn/news/20181/

相关文章:

  • 旅游网站建设问题wordpress关键词屏蔽
  • 网站开发的职业分析企业网站建设源码HTML
  • 怎么做网络推广网站天津招标信息网官网
  • 网站模板下载网络运营推广具体做什么工作
  • 鄂州市城市建设档案馆网站不会写代码怎样做网站
  • 登陆不了建设银行网站国外做的好的医疗网站设计
  • php后台关闭网站 功能怎么实现wordpress 免费建站
  • 网站与后台南通水情最新信息
  • 外国网站打开慢怎么办小程序制作拼图
  • 西安网站建设定制天津网站制作系统
  • 广东网站建设费用武城做网站
  • 小县城做网站网站服务器租用高防就不怕攻击吗
  • 做网站尺寸一般都多大天津网站定制公司
  • 可以上传视频的网站建设如何制作私人网站
  • 网站建设编码青岛公司网站制作
  • 图书馆网站结构怎么做做网站的公司倒闭了
  • 浏览器显示不安全网站建设黑龙江新闻联播
  • 做盗版电影网站后果北京中小企业公司名单
  • 自学网站开发需要多久怎样用mysql做网站
  • 昆山建设局网站网站颜色搭配实例
  • 南通网站定制方案某男神去年年底来某网站做见面会_竟要求安保人数超过两位数
  • 镇海做网站镇江论坛
  • 服装网上商城网站建设报告邯郸网站建设公司
  • 中国建设购物网站吉隆坡建设大学中文网站
  • 商务网站建设毕业设计模板企业营销型网站建设的可行性
  • 网站没有排名学会网站建设三方协议
  • 丽水网站建设专业的公司wordpress前台地址
  • 内部网站如何建设网站备案咨询
  • 怎么做自己的免费网站wordpress rss 采集
  • 做公司网站外包安阳刚刚发生的事