无重复字符的最长子串----java
2021/11/4 22:16:15
本文主要是介绍无重复字符的最长子串----java,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。
示例 1:
输入: s = "abcabcbb"
输出: 3
解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。
示例 2:
输入: s = "bbbbb"
输出: 1
解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。
示例 3:
输入: s = "pwwkew"
输出: 3
解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。
请注意,你的答案必须是 子串 的长度,"pwke" 是一个子序列,不是子串。
示例 4:
输入: s = ""
输出: 0
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/longest-substring-without-repeating-characters
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
class Solution { public int lengthOfLongestSubstring(String s) { int left = 0,right = 0,len = s.length(),max = 0; Set<Character> window = new HashSet<>(); //新建哈希表 while(right < len){ char xinchar = s.charAt(right); while(window.contains(xinchar)){ //判断right指向的元素是否再window滑动窗口中 window.remove(s.charAt(left)); //移除left元素 left++; } max = Math.max(max,right - left + 1); //更新长度 window.add(xinchar); //添加不再滑动窗口中的元素 right++; } return max; } }
这篇关于无重复字符的最长子串----java的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-09-30PS网页切图项目实战:初学者必备指南
- 2024-09-30Span标签项目实战:新手入门教程
- 2024-09-309D资料入门指南:轻松掌握基础操作
- 2024-09-30如何获取和利用变形资料:新手入门指南
- 2024-09-30弹性盒子布局资料:新手必读教程
- 2024-09-30手把手教你如何使用“点击加载资料”功能
- 2024-09-30封装资料入门教程:轻松掌握封装资料的方法与技巧
- 2024-09-30钢琴效果资料:新手入门指南
- 2024-09-30滚动吸顶资料详解:轻松掌握网页常见布局技巧
- 2024-09-30后台交互资料详解:新手入门教程