想法:
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. mac sourcetree required password

    coding   c85Ao 解决办法,用http拉取,使用命令行clone 每次push需要密码解决方法 sourcetree 不停的让输入密码,报 password required1.在终端(t ...

  2. MogDB 学习笔记之 -- PITR恢复

    # 概念描述## 背景信息当数据库崩溃或希望回退到数据库之前的某一状态时,MogDB的即时恢复功能(Point-In-Time Recovery,简称PITR)可以支持恢复到备份归档数据之后的任意时间 ...

  3. Hystrix-Dashboard可视化

    Hystrix-Dashboard可视化 1.新建子项目引pom.xml <dependencies> <!--hystrix dashboard--> <depende ...

  4. Java方法之命令行传递参数

    命令行传参 有时候希望运行一个程序时候再传递给它消息.这要靠传递命令行参数给main()函数实现. public class Demo05 { public static void main(Stri ...

  5. Java方法之方法的定义和调用

    方法的定义 Java的方法类似于其他语言的函数,是一段用来完成特定功能的代码片段,一般情况下,定义一个方法包含以下语法: 方法包含一个方法头和一个方法体.下面是一个方法的所有部分: 1.修饰符:修饰符 ...

  6. Java流程控制之while循环详解

    while循环 while循环 do...while循环 for循环 在Java5中引入了一种主要用于数组的增强型for循环 while循环 while循环是最基本的循环,它的结构为 while(布尔 ...

  7. django文件目录

    例如主站mysite,mysite下有一个应用testapp 1.在mysite/mysite下的settings需要添加应用进去 2.在musite/mysite下的urls.py记录应用的路径 3 ...

  8. vue3 vite等笔记

    1.脚手架 vue-cli基于webpack封装,生态非常强大,可配置性也非常高,几乎能够满足前端工程化的所有要求.缺点就是配置复杂,甚至有公司有专门的webpack工程师专门做配置,另外就是webp ...

  9. java websocket详细

    <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring- ...

  10. [OC] 链式语法

    我们新建了一个类,叫做 OJClass (这可以是 ViewController,UIView,NSObject 等各种类型的类,这里我们把它以UIView进行举例) 现在我们想要用链式语法的方式来设 ...