难度:中等

频率: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.无重复字符的最长子串(中等)相关推荐

  1. [贪心|字符串] leetcode 3 无重复字符的最长子串

    [贪心|字符串] leetcode 3 无重复字符的最长子串 1.题目 题目链接 给定一个字符串,请你找出其中不含有重复字符的最长子串的长度. 示例1: 输入: "abcabcbb" ...

  2. 【LeetCode】无重复字符的最长子串【滑动窗口法】

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

  3. LeetCode 3. 无重复字符的最长子串(滑动窗口+哈希)

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

  4. [leetcode] 3.无重复字符的最长子串

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

  5. LeetCode 3:无重复字符的最长子串 思考分析

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

  6. LeetCode之无重复字符的最长子串

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

  7. leetcode算法—无重复字符的最长子串 Longest Substring Without Repeating Characters

    关注微信公众号:CodingTechWork,一起学习进步. 题目 Longest Substring Without Repeating Characters: Given a string, fi ...

  8. LeetCode 3. 无重复字符的最长子串 (滑动窗口哈希表)

    3. 无重复字符的最长子串 题意: 找子串 子串中无重复字符 要求子串长度最长 解法1(暴力法) 思路: 建立一个长度不断变小的滑动窗口 用一个指针指针扫描窗口内的每个元素: 如果除去指针指向的那个元 ...

  9. LeekCode3_无重复字符的最长子串(中等)

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

  10. leetcode -- 3.无重复字符的最长子串

    内容描述:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度. class Solution(object):def lengthOfLongestSubstring(self, s):& ...

最新文章

  1. 据说看完这21个故事的人,30岁前都成了亿万富翁。你是下一个吗?
  2. mysql 备份压缩数据库_备份压缩mysql 数据库
  3. Oracle 11g 数据库启动和关闭
  4. SOCKADDR_IN
  5. 04.elasticsearch-dynamic_mapping_and_index_template
  6. 【海洋女神原创】一个完整的Installshield安装程序实例—艾泽拉斯之海洋女神出品(二) --基本设置二...
  7. java之Synchronize
  8. 双击打开Inventor文件
  9. c/c++连接mysql数据库设置及乱码问题(vs2013连接mysql数据库,使用Mysql API操作数据库)...
  10. C语言之一些值得被定义为常用C语言头文件库的漂亮宏定义
  11. 查看linux 系统 当前使用的网卡
  12. iOS在照片上添加水印
  13. STM32 CANFD波特率计算器
  14. DB2 SQLCODE 异常大全编辑(五)
  15. 电商后台权限设置有哪些规范你知道吗?
  16. springboot整合RabbitMQ启动报错:An unexpected connection driver error occured,Socket Closed
  17. 微信小程序获取微信用户步数
  18. 脉冲宽度调制pdm_如何通俗易懂地解释「脉冲宽度调制(PWM)」?
  19. word文档在页面上浏览,类似百度文库形式
  20. 相机旋转矩阵求解三个姿态角

热门文章

  1. BZOJ 1412 狼和羊的故事
  2. Linux环境下Redis集群实践
  3. MongoDB 连接数高产生原因及解决
  4. 网络程序开发实验报告
  5. effective c++ 学习
  6. 【Linux】开源分布式存储系统:GlusterFS
  7. 修改开发环境、工程、文件的字符集
  8. C#的Equals不区分大小写
  9. hdu 1253 胜利大逃亡(BFS)
  10. 大数的菲波那契计算/Huge Fibonacci Numbers - ACM