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

wordpress网站部署设计师的职责

wordpress网站部署,设计师的职责,网页设计技能证书怎么考,网站开发工程师证书有用吗题目 添加链接描述 给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: s "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。 示例 2:输入: s "bbbbb" 输出…

题目

添加链接描述

给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: s = "abcabcbb"
输出: 3 
解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。
示例 2:输入: s = "bbbbb"
输出: 1
解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。
示例 3:输入: s = "pwwkew"
输出: 3
解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。请注意,你的答案必须是 子串 的长度,"pwke" 是一个子序列,不是子串。提示:0 <= s.length <= 5 * 104
s 由英文字母、数字、符号和空格组成

滑动窗口+Set

/*** 滑动窗口+Set*/
private static int lengthOfLongestSubstring(String s) {if (s == null) {return 0;}int length = s.length();// 将当前窗口 [left, right) 中字符存储在 HashSet 中Set<Character> characterSet = new HashSet<>(length);int left = 0, right = 0, ans = 0;while(left < length && right < length) {char c = s.charAt(right);if (!characterSet.contains(c)) {// 滑动窗口[left, right)字符没有重复,字符c添加进setcharacterSet.add(c);// 滑动窗口left不动,right右移一位right++;// 更新无重复子串长度ans:滑动窗口[left, right)的长度=right-leftans = Math.max(ans, right-left);} else {// 存在字符重复,说明滑动窗口 [left, right) 中存在与 c 相等的字符// set集合中删除字符串left处的元素,这里无法直接定位到重复字符的下标,需要从left开始删除到重复位置characterSet.remove(s.charAt(left));// 滑动窗口right不动,left右移一位,循环执行到重复元素被删除left++;}}return ans;
}

优化的滑动窗口+HashMap

如果 s[right] 在 [left,right) 范围内有与​ s[k] 重复的字符,不需要逐渐增加 left 。 可以直接跳过 [left,k] 范围内的所有元素,并将 left 变为 k+1

/**
* 滑动窗口+HashMap
*/
private static int lengthOfLongestSubstring2(String s) {if (s == null) {return 0;}int length = s.length();// 将当前窗口 [left, right) 中字符存储在 HashMap 中// key:字符,value:字符下标HashMap<Character, Integer> map = new HashMap<>(length);int ans = 0;for (int left = 0, right = 0; right < length; right++) {// 滑动窗口右指针位置char c = s.charAt(right);// 判断字符c是否出现过Integer index = map.get(c);// 字符c重复,索引index,当前左指针left// 左指针直接跳转到index+1位置,s[index] == s[right]// 但是不能超过当前left,取max(index+1, left)// 0 1 2 3 4 5 6 7 8// a b c d c e b g h//         l   r// 此时 left 索引为 4,right 遍历到 b,b重复,对应索引 1, 此时不能回溯,left不变if (Objects.nonNull(index)) {left = Math.max(index + 1, left);}// 计算当前子串长度ans = Math.max(ans, right-left+1);// 当前字符加入map集合,如果存在就用当前下标right覆盖map.put(c, right);}return ans;
}
http://www.yayakq.cn/news/644521/

相关文章:

  • 微网站怎样做站内优化包括哪些
  • html5购物网站模板wordpress赞踩插件
  • 长春百度网站优化网站维护包括的内容
  • 建设公司网站的目的站酷网素材图库免费下载
  • 网站建设哪个好一些成都装修公司推荐
  • 买一个网站需要多少钱mm131网站用什么软件做的
  • 茶文化建设网站的意义wordpress网站集群
  • 几年做啥网站能致富遵义市城乡建设局网站
  • 大庆网站建设方案论文开发网站需要什么技术2022
  • 做问卷网站网站多多
  • 厦门自助网站建设报价西安网站的设计说明
  • wordpress积分购买汕尾百度seo公司
  • 郑州建站网站集约化平台建设分析
  • 广州番禺哪里有学网站建设电子商务html网站模板
  • 网站优化怎么样做东营建站公司
  • 精品网站建设开发公司五证
  • 网站建设简单合同企业网站源码下载站长之家
  • 网站+建设+拖拉+源码+系统百度竞价个人开户
  • wordpress建站优势河北建筑培训网首页
  • 城口自助建站深圳网站定制价格表
  • 做跨境电商网站的意义百度推广开户代理
  • 湖南住房城乡建设部网站seo教程书籍
  • 成都企业网站建设 四川冠辰科技企业登记代理公司
  • 东莞免费建站公司怎样申请电子邮箱
  • 迈肯奇迹做网站职教集团网站建设
  • 有什么教做维c甜品的网站建立网站要多少钱一年
  • 广州网站排名怎么优化谷歌推广
  • 如何做征信公司网站官网静态html模板
  • 做装饰公司网站windows 2012做网站伪静态
  • 万网的怎么做网站地图网站建设公司哪个好一点