当前位置:网站首页>LeetCode:剑指 Offer 48. 最长不含重复字符的子字符串
LeetCode:剑指 Offer 48. 最长不含重复字符的子字符串
2022-07-06 08:44:00 【Bertil】
请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。
示例 1:
输入: "abcabcbb"
输出: 3
解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。
示例 2:
输入: "bbbbb"
输出: 1
解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。
示例 3:
输入: "pwwkew"
输出: 3
解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。
请注意,你的答案必须是 子串 的长度,"pwke" 是一个子序列,不是子串。
提示:
- s.length <= 40000
注意:本题与主站 3 题相同:https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/
解题思路
1.首先定义左指针,新建一个map来存放每个字符和它的索引值
2.然后遍历右指针,若字符已出现过,则左指针右移
3.最后根据左右指针的位置来不断取不含重复字符的子字符串的最大值
代码
/** * @param {string} s * @return {number} */
var lengthOfLongestSubstring = function(s) {
let l = 0
let res = 0
const map = new Map()
for(let r = 0; r < s.length; r++) {
if(map.has(s[r]) && map.get(s[r]) >= l) {
l = map.get(s[r]) + 1
}
res = Math.max(res, r - l + 1)
map.set(s[r],r)
}
return res
};
边栏推荐
- Target detection - pytorch uses mobilenet series (V1, V2, V3) to build yolov4 target detection platform
- MySQL learning record 10getting started with JDBC
- pytorch训练好的模型在加载和保存过程中的问题
- Promise 在uniapp的简单使用
- Charging interface docking tutorial of enterprise and micro service provider platform
- Delay initialization and sealing classes
- sublime text中conda环境中plt.show无法弹出显示图片的问题
- 按位逻辑运算符
- Indentation of tabs and spaces when writing programs for sublime text
- Using pkgbuild:: find in R language_ Rtools check whether rtools is available and use sys The which function checks whether make exists, installs it if not, and binds R and rtools with the writelines
猜你喜欢
egg. JS project deployment online server
广州推进儿童友好城市建设,将探索学校周边200米设安全区域
Beijing invitation media
Target detection - pytorch uses mobilenet series (V1, V2, V3) to build yolov4 target detection platform
Tcp/ip protocol
【嵌入式】使用JLINK RTT打印log
FairGuard游戏加固:游戏出海热潮下,游戏安全面临新挑战
Excellent software testers have these abilities
sublime text没关闭其他运行就使用CTRL+b运行另外的程序问题
MySQL learning record 10getting started with JDBC
随机推荐
Current situation and trend of character animation
LeetCode:剑指 Offer 03. 数组中重复的数字
可变长参数
Image,cv2读取图片的numpy数组的转换和尺寸resize变化
Variable length parameter
深度剖析C语言指针
Process of obtaining the electronic version of academic qualifications of xuexin.com
LeetCode:34. 在排序数组中查找元素的第一个和最后一个位置
如何有效地进行自动化测试?
View computer devices in LAN
Tcp/ip protocol
How to conduct interface test? What are the precautions? Nanny level interpretation
Browser thread
To effectively improve the quality of software products, find a third-party software evaluation organization
优秀的软件测试人员,都具备这些能力
The mysqlbinlog command uses
Warning in install. packages : package ‘RGtk2’ is not available for this version of R
What is the role of automated testing frameworks? Shanghai professional third-party software testing company Amway
marathon-envs项目环境配置(强化学习模仿参考动作)
The problem and possible causes of the robot's instantaneous return to the origin of the world coordinate during rviz simulation