博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
算法-字符串-滑动窗口-无重复字符串的最长字串
阅读量:3962 次
发布时间:2019-05-24

本文共 784 字,大约阅读时间需要 2 分钟。

在这里插入图片描述

class Solution {
public int lengthOfLongestSubstring(String s) {
Set
set = new HashSet<>(); int len = s.length(); int l = 0; int r = 0; int ans = 0; //滑动窗口可以按照这个套 while(l < len) {
//没有这一个判断运行会超时 if(ans >= len - 1 - l + 1) {
break; } //右指针移动 while(r < len && !set.contains(s.charAt(r))) {
set.add(s.charAt(r)); r++; } //右移完后计算长度 ans = Math.max(ans, r - 1 - l + 1); //左指针移动 因为已经出现重复了 所以要移动左指针 while(r < len && set.contains(s.charAt(r))) {
set.remove(s.charAt(l)); l++; } } return ans; }}

转载地址:http://emhzi.baihongyu.com/

你可能感兴趣的文章
Linux提权获取敏感信息方法
查看>>
Ubuntu 16.04开机A start job is running for Raise network interface(5min 4s)解决方法
查看>>
Ubuntu 16.04开机隐藏菜单缩短时间
查看>>
Ubuntu 更换国内源
查看>>
Ubuntu16.04下Docker pull connection refused 解决办法
查看>>
postgres基本操作(个人总结版)
查看>>
The AnimationClip 'Walk' used by the Animation component 'Pig' must be marked as Legacy.
查看>>
《Linux内核设计与实现》- Linux的进程
查看>>
inet_ntoa()
查看>>
POSIX消息队列mq_open问题
查看>>
两个数组a[N],b[N],其中A[N]的各个元素值已知,现给b[i]赋值,b[i] = a[0]*a[1]*a[2]…*a[N-1]/a[i];
查看>>
用户态切换到内核态的3种方式
查看>>
笔试常见的智力题(附答案)
查看>>
内核库函数
查看>>
Linux 系统内核空间与用户空间通信的实现与分析
查看>>
如何写好应用型学术论文
查看>>
如何查看进程的各种限制
查看>>
64位int类型用printf输出问题
查看>>
网络后台开发面试题目
查看>>
Linux 共享内存限制的查看与设置
查看>>