当前位置:网站首页>【Hot100】3. 无重复字符的最长子串
【Hot100】3. 无重复字符的最长子串
2022-06-28 15:51:00 【王六六的IT日常】
中等题
给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。
题解:
滑动窗口
定义一个 map 数据结构存储 (k, v),其中 key 值为字符,value 值为字符位置 +1,加 1 表示从字符位置后一个才开始不重复。
定义不重复子串的开始位置为 start,结束位置为 end
随着 end 不断遍历向后,会遇到与 [start, end] 区间内字符相同的情况,此时将字符作为 key 值,获取其 value 值,并更新 start,此时 [start, end] 区间内不存在重复字符
无论是否更新 start,都会更新其 map 数据结构和结果 ans。
map的value直接存字符的下标更好理解,在map.get(c)的地方再进行+1操作。
代码:
class Solution {
public int lengthOfLongestSubstring(String s) {
int res = 0;
Map<Character,Integer> map = new HashMap<>();
for(int start = 0,end = 0;end < s.length(); end++){
char c = s.charAt(end);
if(map.containsKey(c)){
//相等字符第二次还没存进去,所以map中取到的就是之前存的一样字符的下标,start更新为下标的下一位置
start = Math.max(map.get(c) + 1 ,start);
}
res = Math.max(end - start + 1, res);
map.put(c,end);
}
return res;
}
}
边栏推荐
- Navicat 15 for MySQL
- Among US private server setup
- A little hesitant in the morning
- 机器学习之深度学习简介
- 防火墙基础之流量管理与控制
- 如何根据多元索引查询最后一条数据,达到 sql order by desc limit 1的效果呢?
- Etcd可视化工具:Kstone简介(一)
- Summary of language features of fluent dart
- 大神详解开源 BUFF 增益攻略丨直播讲座
- Redmibook Pro 14 enhanced version cannot open delta software drastudio_ v1.00.07.52
猜你喜欢

Today's sleep quality record is 80 points

Etcd visualization tool: an introduction to kstone (I)

一台服务器最大并发 tcp 连接数多少?65535?
![数组中的第K大元素[堆排 + 建堆的实际时间复杂度]](/img/69/bcafdcb09ffbf87246a03bcb9367aa.png)
数组中的第K大元素[堆排 + 建堆的实际时间复杂度]

See how the interface control devaxpress WinForms creates a virtual keyboard

among us私服搭建
![[MySQL] official website document learning query statement SQL precautions](/img/aa/bf27b609e2fda1edaa46f134fc5626.png)
[MySQL] official website document learning query statement SQL precautions

逆向调试入门-PE结构详解02/07

Qt create 5.0.3 配置Qt4.8.7

10:00面试,10:02就出来了 ,问的实在是太...
随机推荐
Qt create 5.0.3 配置Qt4.8.7
Qt5.5.1配置MSVC2010编绎器和windbg调试器
Qt 界面库
征文投稿丨使用轻量应用服务器搭建博客环境
简单介绍一下tensorflow与pytorch的相互转换(主要是tensorflow转pytorch)
全球陆续拥抱Web3.0,多国已明确开始抢占先机
[leetcode] 13. Roman numeral to integer
tablestore中可以使用sql查询可以查出表中所有的数据吗?
Notes to distributed theory
物联网云融合安全指南
wallys/DR7915-wifi6-MT7915-MT7975-2T2R-support-OpenWRT-802.11AX-supporting-MiniPCIe-Module
【Spock】处理 Non-ASCII characters in an identifier
机器学习之卷积神经网络--CNN介绍
3. caller service call - dapr
媒体数据处理V2版本(VPC)图像缩放内容解析
【MySQL】表连接为什么比子查询快
【高并发基础】MySQL 不同事务隔离级别下的并发隐患及解决方案
部门新来了个字节25K出来的,让我见识到了什么是天花板
Talking about open source - Linus and Jim talk about open source in China
Interviewer: how does the thread pool reuse threads? Do you know? Tell me about it