当前位置:网站首页>【题目】无重复字符的最长子串
【题目】无重复字符的最长子串
2022-08-11 11:38:00 【xiaoxigua_cs】
题目描述
给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。
示例1
输入: s = “abcabcbb”
输出: 3
解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3
示例2
输入: s = “bbbbb”
输出: 1
解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。
解题代码
public class Test {
public static void main(String[] args) {
int result = lengthOfLongestSubstring("aabaab!bb");
System.out.println(result);
}
/** * 计算字符串中最大不重复的字符串 */
public static int lengthOfLongestSubstring(String s) {
Map<Character, Integer> eMap = new HashMap<>(16);
//定义一个游标,用来标识队列的起始位置
int cursor = 0;
//最大不重复的字符串
int maxLength = 0;
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
//字符重复了,需要将游标指向重复的第一个字符 +1
if (eMap.containsKey(c)) {
cursor = Math.max(cursor, eMap.get(c) + 1);
}
eMap.put(c, i);
//因为数组是从0开始的,所以需要 +1
maxLength = Math.max(maxLength, i - cursor + 1);
}
return maxLength;
}
}
题目来源
边栏推荐
猜你喜欢
WPF 实现内阴影
Uber的20万容器实践:如何避免容器化环境中的 CPU 节流
TX12 + ExpressLRS 915MHz RC控制链路配置及问题汇总
How long does it take to train a neural network, neural network training takes too long
或命名“狙击手” 长安全新皮卡申报图
Web3 创业者指南:如何为你的产品构建一个去中心化社区?
HyperLynx(五)反射仿真
Hugging Face快速入门(重点讲解模型(Transformers)和数据集部分(Datasets))
C语言,怪题小谈
文献阅读(185)Co-design
随机推荐
2021牛客暑期多校训练营5 J Jewels
Go-Excelize API源码阅读(七)—— CopySheet(from, to int)
98转出0转入,985高校土木工程沦为“天坑”引热议
概率期望及计数的一些性质应用
十九、一起学习Lua 垃圾回收
威佐夫博弈
性能测试的环境以及测试数据构造
困扰所有SAP顾问多年的问题终于解决了
如何批量下载hugging face模型和数据集文件
何为API服务网关
d,cast转换aa为右值
【Opencv】-----倾斜图片转正
同城是美团电商的解法吗?
RTP协议浅析
好的架构是进化来的,不是设计来的
Jmeter性能测试
Ince-Gaussian mode
TX12 + ExpressLRS 915MHz RC控制链路配置及问题汇总
五分钟教你内网穿透
pip安装后仍有ImportError No module named XX问题解决