想法:
1.暴力解法,遇到重复字符就重新开辟空间,最后比较字串长度。
2.指针,但思路不太清晰
 
----查看答案和思路,重新整理
滑动窗口:
 
1.设left,right用于下标值,length,maxLength长度值,一个set,还有初始给的string s
2.将s转成字符类型的数组,得到数组长度
3.
当s中right为下标的元素没有在list中时,将元素加到list,right向右移动left不变,长度length加一,此时要判断下length是否超过了此刻最大长度maxLength,如果超过就更新。
当s中right为下标的元素在list中时,移动left,并且每移一个位置就要把该位置元素在list中删掉,直到right下标元素不在list中,并且长度减一
 1 class Solution {
2 public int lengthOfLongestSubstring(String s) {
3 int left=0;int right = 0;int length = 0;int maxLength = 0;
4 Set setList = new HashSet<>();
5 char[] chars = s.toCharArray();
6 while(right<(chars.length)){//一直到right增加到小于string的长度
7 if(!setList.contains(chars[right])){
8 setList.add(chars[right]);
9 //如果setList中没有此时string中right下标的元素就把他加入setList
10 right++;//向右移动
11 length++;
12 if(length>maxLength){//如果此时长度大于最大长度,就更新最大长度
13 maxLength = length;
14 }
15
16
17 }else{//如果有重复,就移动left直至没重复
18 while(setList.contains(chars[right])){
19 setList.remove(chars[left]);
20 left++;
21 length--;
22 }
23 }
24 }
25 return maxLength;
26 }
27 }

Leecode 3.无重复字符的最大字串长度(Java 暴力拆解)的更多相关文章

  1. LeetCode03 - 无重复字符的最长子串(Java 实现)

    LeetCode03 - 无重复字符的最长子串(Java 实现) 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/longest-substri ...

  2. LeetCode: 3 无重复字符的最长子串 (Java)

    3. 无重复字符的最长子串 https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/ 最初始的解 ...

  3. leetcode刷题笔记-3. 无重复字符的最长子串(java实现)

    题目描述 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "ab ...

  4. [LeetCode]3.无重复字符的最长子串(Java)

    原题地址: longest-substring-without-repeating-characters/submissions 题目描述: 示例 1: 输入: s = "pwwkew&qu ...

  5. lintcode: 最长无重复字符的子串

    题目 最长无重复字符的子串给定一个字符串,请找出其中无重复字符的最长子字符串. 例如,在"abcabcbb"中,其无重复字符的最长子字符串是"abc",其长度为 ...

  6. leetcode刷题第三天<无重复字符的最长子串>

    给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 : 输入: "abcabcbb" 输出: 解释: 因为无重复字符的最长子串是 . 示例 : 输入: &quo ...

  7. [Swift]LeetCode3. 无重复字符的最长子串 | Longest Substring Without Repeating Characters

    Given a string, find the length of the longest substring without repeating characters. Examples: Giv ...

  8. [LeetCode] 3. 无重复字符的最长子串

    题目链接:(https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/) 题目描述: 给定一个字符 ...

  9. day4——无重复字符的最长子串

    // 小白一名,0算法基础,艰难尝试算法题中,若您发现本文中错误, 或有其他见解,往不吝赐教,感激不尽,拜谢. 领扣 第2题 今日算法 题干 //给定一个字符串,请你找出其中不含有重复字符的 最长子串 ...

  10. leetcode 刷题(3)--- 无重复字符的最长子串

    给定一个字符串,找出不含有重复字符的最长子串的长度. 示例 1: 输入: "abcabcbb" 输出: 3 解释: 无重复字符的最长子串是 "abc",其长度为 ...

随机推荐

  1. oracle pl/sql异常处理

    DECLARE colse_result varchar2(100); BEGIN utl_http.set_wallet ('密钥地址', '密码'); select utl_http.reques ...

  2. 数据库管理工具naicat+DG

    DG 参考链接:https://www.cnblogs.com/zuge/p/7397255.html 自我感觉: 亲切,万能,idea用多了... 石皮 解 用学生账号登陆就可以(我用的这一种) 工 ...

  3. robots.txt详解[通俗易懂]

    大家好,又见面了,我是你们的朋友全栈君. 怎样查看robots文件? 浏览器输入 主域名/robots.txt robots.txt的作用 robots.txt 文件规定了搜索引擎抓取工具可以访问网站 ...

  4. 03 Spark RDD编程基础

    1. 准备文本文件从文件创建RDD lines=sc.textFile()筛选出含某个单词的行 lines.filter() 2. 生成单词的列表从列表创建RDD words=sc.paralleli ...

  5. Token过期处理

    Token用于进行接口鉴权,但是Token具有由后端设置的过期时间,当Token过期以后,就无法再请求数据了 项目中后端设置的过期时间为24h,测试时我们可以手动修改token值让Token失效 处理 ...

  6. window.parent.postMessage 解决iframe父子页面域名不一样出现的跨域问题

    window.parent.postMessage 解决iframe父子页面域名不一样出现的跨域问题 内嵌 iframe 页面,一般使用 window.parent 或 window.top 来获取父 ...

  7. log调试法

    function writeToTxt($data,$filename="debug"){     if(is_array($data)){         file_put_co ...

  8. ZSTUOJ平台刷题⑤:Problem G.--深入浅出学算法023-旋转数阵

    Problem G: 深入浅出学算法023-旋转数阵 Time Limit: 1 Sec  Memory Limit: 64 MBSubmit: 4794  Solved: 955 Descripti ...

  9. CH32F103C8T6的USB开发(一)

    一.背景 项目用到单片机采集模拟量数据,原先使用USB转串口,速度嫌慢,还要转串口芯片,电脑还要安装驱动,现更改为采用USB的HID类来传输. 二.单片机选型 STM32F103的USB接口简单易用, ...

  10. LeetCode系列之 (JavaScript) => 66. 加一

    题目描述: 解题思路分析: 模拟十进制: 分析有几种情况,按情况来定 不同解法: /** * @param {number[]} digits * @return {number[]} */ // v ...