leetcode 3.无重复字符的最长子串(中等)
难度:中等
频率:271
题目:给定一个字符串s,请你找出其中不含有重复字符的最长字串的长度
题目类型:HashSet 结构 or 滑动窗口
解题方法:HashSet+滑动窗口(双指针标记left+right)【连续的、长度可变、求最大长度–>滑动窗口,无重复–>Hash表】
Map or Set???Set消耗小,并且可以去重
需要注意: 1.需要把string转化成charArray。
2.判断是否有重复只需要查询right下标的字母是否在HashSet中即可【set.contains(charArray[i])】。
3.如果当前字母加入窗口中会造成重复,则不断移动左指针直到没有重复字母为止。
4. 当不会造成重复时加入。
核心口诀:左右双指针,重复去掉左再动,不重添加右行动。
重左动,不重右动。
class Solution {public int lengthOfLongestSubstring(String s){// 定义返回的最大长度,左右指针int Max=0,left=0,right=0;char[] charArray=s.toCharArray();
// Set 去重Set<Character> set=new HashSet<>();for ( ;right < s.length(); right++) {// 如果当前字母加入窗口中会造成重复,则不断移动左指针直到没有重复字母为止while (set.contains(charArray[right])) set.remove(charArray[left++]);
// 当不会造成重复时加入set.add(charArray[right]);int temp=right-left+1;
// 尝试更新最大值Max=temp>Max?temp:Max;}return Max;}
}
leetcode 3.无重复字符的最长子串(中等)相关推荐
- [贪心|字符串] leetcode 3 无重复字符的最长子串
[贪心|字符串] leetcode 3 无重复字符的最长子串 1.题目 题目链接 给定一个字符串,请你找出其中不含有重复字符的最长子串的长度. 示例1: 输入: "abcabcbb" ...
- 【LeetCode】无重复字符的最长子串【滑动窗口法】
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc&qu ...
- LeetCode 3. 无重复字符的最长子串(滑动窗口+哈希)
1. 题目 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 " ...
- [leetcode] 3.无重复字符的最长子串
给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: s = "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 " ...
- LeetCode 3:无重复字符的最长子串 思考分析
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 1: 输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "abc&qu ...
- LeetCode之无重复字符的最长子串
1. 题目 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度.示例 1:输入: "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 "ab ...
- leetcode算法—无重复字符的最长子串 Longest Substring Without Repeating Characters
关注微信公众号:CodingTechWork,一起学习进步. 题目 Longest Substring Without Repeating Characters: Given a string, fi ...
- LeetCode 3. 无重复字符的最长子串 (滑动窗口哈希表)
3. 无重复字符的最长子串 题意: 找子串 子串中无重复字符 要求子串长度最长 解法1(暴力法) 思路: 建立一个长度不断变小的滑动窗口 用一个指针指针扫描窗口内的每个元素: 如果除去指针指向的那个元 ...
- LeekCode3_无重复字符的最长子串(中等)
题目 给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. 示例 : 输入: s = "abcabcbb" 输出: 3 解释: 因为无重复字符的最长子串是 " ...
- leetcode -- 3.无重复字符的最长子串
内容描述:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. class Solution(object):def lengthOfLongestSubstring(self, s):& ...
最新文章
- 据说看完这21个故事的人,30岁前都成了亿万富翁。你是下一个吗?
- mysql 备份压缩数据库_备份压缩mysql 数据库
- Oracle 11g 数据库启动和关闭
- SOCKADDR_IN
- 04.elasticsearch-dynamic_mapping_and_index_template
- 【海洋女神原创】一个完整的Installshield安装程序实例—艾泽拉斯之海洋女神出品(二) --基本设置二...
- java之Synchronize
- 双击打开Inventor文件
- c/c++连接mysql数据库设置及乱码问题(vs2013连接mysql数据库,使用Mysql API操作数据库)...
- C语言之一些值得被定义为常用C语言头文件库的漂亮宏定义
- 查看linux 系统 当前使用的网卡
- iOS在照片上添加水印
- STM32 CANFD波特率计算器
- DB2 SQLCODE 异常大全编辑(五)
- 电商后台权限设置有哪些规范你知道吗?
- springboot整合RabbitMQ启动报错:An unexpected connection driver error occured,Socket Closed
- 微信小程序获取微信用户步数
- 脉冲宽度调制pdm_如何通俗易懂地解释「脉冲宽度调制(PWM)」?
- word文档在页面上浏览,类似百度文库形式
- 相机旋转矩阵求解三个姿态角