教育类企业网站,网站自己推广怎么做,线下广告投放渠道都有哪些,vps wordpress lnmp1.题目描述
给定一个字符串 s #xff0c;请你找出其中不含有重复字符的最长字串的长度。 2 思路 可以用两个指针, 滑动窗口的思想来做这道题,即定义两个指针.一个left和一个right
并且用一个set容器,一个length , 一个maxlength来记录,
让right往右走,并且用一个set容器来…1.题目描述
给定一个字符串 s 请你找出其中不含有重复字符的最长字串的长度。 2 思路 可以用两个指针, 滑动窗口的思想来做这道题,即定义两个指针.一个left和一个right
并且用一个set容器,一个length , 一个maxlength来记录,
让right往右走,并且用一个set容器来存储right走过的字符(如果容器里没有这个字符)
right每走一步就让length, 并且和maxlength比较,如果比maxlength还大,就赋值给maxlength.
如果有这个字符,就让left往右走,找到相同的字符,就length--,并且从容器里删掉这个字符
我们用 pwwkew来举例.
第一步: right走到没有重复的.
即 right的下标在第二个w停下,在次之前,每次都存储到set里面,并且length Σmaxlength比较.
第二步 left开始走,如果set里面包含的有,就一直走 并且删除吊left走过的元素,length--
第三步 返回maxlength
三 代码书写 public int lengthOfLongestSubstring(String s) {SetCharacter set new HashSet();int left 0;int right 0;int length 0;int maxLength 0;while (rights.length()) {if (!set.contains(s.charAt(right))) {set.add(s.charAt(right));length;right;if (length maxLength) {maxLength length;}} else {while (set.contains(s.charAt(right))){set.remove(s.charAt(left));left;length--;}}}return maxLength;}