当前位置: 首页 > news >正文

LeeCode前端算法基础100题(4)- 无重复字符的最长子串

一、问题详情:

给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。

示例 1:

输入: s = "abcabcbb"
输出: 3 
解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。

示例 2:

输入: s = "bbbbb"
输出: 1
解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。

示例 3:

输入: s = "pwwkew"
输出: 3
解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。请注意,你的答案必须是 子串 的长度,"pwke" 是一个子序列,不是子串。

二、我的答案:

/*** @param {string} s* @return {number}*/
var lengthOfLongestSubstring = function(s) {let maxLength = 0;let left = 0;const charMap = new Map(); // 用于记录字符的索引位置for (let right = 0; right < s.length; right++) {const currentChar = s[right];if (charMap.has(currentChar) && charMap.get(currentChar) >= left) {// 如果当前字符已经在窗口中出现过,并且在左指针之后left = charMap.get(currentChar) + 1; // 更新左指针的位置}charMap.set(currentChar, right); // 记录当前字符的索引位置maxLength = Math.max(maxLength, right - left + 1); // 更新最大长度}return maxLength;
};

http://www.lryc.cn/news/245786.html

相关文章:

  • Axios简单使用与配置安装-Vue
  • 【初始前后端交互+原生Ajax+Fetch+axios+同源策略+解决跨域】
  • C语言--每日选择题--Day24
  • 记一次简单的PHP反序列化字符串溢出
  • 找工作面试技巧
  • Jackson无缝替换Fastjson
  • JVM 内存分析工具 MAT及实践
  • jupyter notebook 不知道密码,怎么登录解决办法
  • 软著项目推荐 深度学习中文汉字识别
  • WEB渗透—反序列化(七)
  • 牛客网刷题笔记四 链表节点k个一组翻转
  • 【数据结构】图<简单认识图>
  • Git介绍和基础命令解析
  • 力扣hot100 和为 K 的子数组 前缀和
  • 6.12找树左下角的值(LC513-M)
  • 【精选】框架初探篇之——MyBatis的CRUD及配置文件
  • ES8语法async与await
  • c#处理SQLSERVER 中image数量类型为空
  • 五子棋游戏
  • vue+SpringBoot的图片上传
  • FFmepg 核心开发库及重要数据结构与API
  • 训练 CNN 对 CIFAR-10 数据中的图像进行分类
  • 香港科技大学广州|智能制造学域博士招生宣讲会—天津大学专场
  • 滑动窗口练习(二)— 子数组中满足max -min <= sum的个数
  • 用xlwings新建一个excel并同时生成多个sheet
  • 诺威信,浪潮云,微众区块链
  • Redux在React中的使用
  • Go 数字类型
  • 时间序列预测 — Informer实现多变量负荷预测(PyTorch)
  • 2023年金融信创行业研究报告