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.pswp.cn/news/165777.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/165777.shtml
英文地址,請注明出處:http://en.pswp.cn/news/165777.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

在VMware Workstation的Centos上實現KVM虛擬機的安裝部署:詳細安裝部署過程(保姆級)

KVM概述 ? 以色列qumranet公司研發&#xff0c;后被RedHad公司收購 &#xff08;1&#xff09;kvm只支持x86平臺 &#xff08;2&#xff09;依賴于 HVM,inter VT AMD-v ? KVM是&#xff08;Kernel-based Virtual Machine&#xff09;的簡稱&#xff0c;是一個開源的系統虛擬…

Spark---補充算子

一、Spark補充Transformation算子 1、join,leftOuterJoin,rightOuterJoin,fullOuterJoin 作用在K&#xff0c;V格式的RDD上。根據K進行連接&#xff0c;對&#xff08;K&#xff0c;V&#xff09;join&#xff08;K&#xff0c;W&#xff09;返回&#xff08;K&#xff0c;&a…

世界復合醫學雜志世界復合醫學雜志社世界復合醫學編輯部2023年第8期目錄

論著 能譜&#xff08;Revolution&#xff09;CT胸腹聯合胸痛三聯CTA掃描對急性胸痛患者疾病的差異分析 左明飛;溫麗娟;焦宇; 1-38 超聲引導下肩袖間隙注射及肩胛上神經阻滯聯合觸發點針刺治療粘連性肩關節囊炎的療效分析 余菲;王嫻;戴甫成;張維;劉武;孫勇; 4-8 神…

python tkinter 使用(六)

python tkinter 使用&#xff08;六&#xff09; 本文主要講述tkinter中進度條的使用。 1:確定的進度條 progressbar tkinter.ttk.Progressbar(root, mode"determinate", maximum100, value0) progressbar.pack()def updateProgressBar():for i in range(100):pr…

【Unity】 UGUI的PhysicsRaycaster (物理射線檢測)組件的介紹及使用

1. 什么是PhysicsRaycaster組件&#xff1f; PhysicsRaycaster是Unity UGUI中的一個組件&#xff0c;用于在UI元素上進行物理射線檢測。它可以檢測鼠標或觸摸事件是否發生在UI元素上&#xff0c;并將事件傳遞給相應的UI元素。 2. PhysicsRaycaster的工作原理 PhysicsRaycast…

【Proteus仿真】【51單片機】智能垃圾桶設計

文章目錄 一、功能簡介二、軟件設計三、實驗現象聯系作者 一、功能簡介 本項目使用Proteus8仿真51單片機控制器&#xff0c;使用報警模塊、LCD1602液晶模塊、按鍵模塊、人體紅外傳感器、HCSR04超聲波、有害氣體傳感器、SG90舵機等。 主要功能&#xff1a; 系統運行后&#xf…

基于GPRS的汽車碰撞自動報警系統(論文+源碼)

1. 系統設計 本次基于GPRS的汽車碰撞自動報警系統的設計中&#xff0c;其主要的目標功能如下&#xff1a;1、實時檢測當前的GPS精度和緯度坐標&#xff1b;2.當發生碰撞后系統自動將當前的信息通過GPRS數據發送到遠端數據進行報警&#xff1b;3、系統在碰撞后一方面進行本地報警…

聽GPT 講Rust源代碼--src/tools(2)

題圖來自AI生成 File: rust/src/tools/rust-analyzer/crates/hir-def/src/src.rs rust-analyzer 是一個 Rust 語言的語法分析器和語義分析器&#xff0c;用于提供代碼補全、導航、重構等開發工具。而 rust-analyzer 的代碼實現存儲在 rust/src/tools/rust-analyzer 這個文件夾中…

010 OpenCV中的4種平滑濾波

目錄 一、環境 二、平滑濾波 2.1、均值濾波 2.2、高斯濾波 2.3、中值濾波 2.4、雙邊濾波 三、完整代碼 一、環境 本文使用環境為&#xff1a; Windows10Python 3.9.17opencv-python 4.8.0.74 二、平滑濾波 2.1、均值濾波 在OpenCV庫中&#xff0c;blur函數是一種簡…

遞歸剪枝題

期中考終于考完了&#xff0c;整道題獎勵下自己 我一北大同學問我的&#xff0c;說他遞歸超時了&#xff0c;叫我想一個辦法 后面他說他加了個剪枝就過了&#xff0c;然后我自己嘗試了一個方法&#xff1a; 就是先把城市按1到n排列&#xff0c;然后考慮互換&#xff0c;如果互…

考過了PMP,面試的時候應該怎么辦?

近期喜番在后臺收到了很多同學們的私信&#xff0c;表示自己已經過了8月份的PMP考試&#xff0c;開始著手往項目管理崗位轉型&#xff0c;但是對于項目管理崗位的面試卻一籌莫展。放輕松&#xff0c;大家的需求喜番都了解了&#xff0c;喜番給大家總結了一些項目經理在面試的時…

SpringCloud 微服務全棧體系(十七)

第十一章 分布式搜索引擎 elasticsearch 七、搜索結果處理 搜索的結果可以按照用戶指定的方式去處理或展示。 1. 排序 elasticsearch 默認是根據相關度算分&#xff08;_score&#xff09;來排序&#xff0c;但是也支持自定義方式對搜索結果排序。可以排序字段類型有&#…

【Python】Fastapi swagger-ui.css 、swagger-ui-bundle.js 無法加載,docs無法加載,redocs無法使用

使用fastapi的時候&#xff0c;swagger-ui.css 、swagger-ui-bundle.js、redoc.standalone.js 有時候無法加載&#xff08;國內環境原因或者是局域網屏蔽&#xff09;&#xff0c;此時就需要自己用魔法下載好對應文件&#xff0c;然后替換到fastapi里面去。 fastapi里面依靠這…

計算機視覺(CV)技術的優勢:

計算機視覺&#xff08;CV&#xff09;技術的優勢&#xff1a; 自動化&#xff1a;計算機視覺技術可以自動化處理大量的視覺數據。 精度和速度&#xff1a;計算機視覺技術可以在很短的時間內對大量的圖像數據進行處理&#xff0c;并且可以達到非常高的精度。 可靠性&#xff…

【微軟技術棧】使用(TAP)基于任務的異步模式

本文內容 使用 Await 掛起執行取消異步操作監視進度使用內置的基于任務的連結符構建基于任務的連結符構建基于任務的數據結構 c#使用基于任務的異步模式 (TAP) 處理異步操作時&#xff0c;可以使用回叫實現等待&#xff0c;而不會阻塞。 對于任務&#xff0c;這可通過 Task.C…

java學習part07數組工具類

1比較內容 2輸出信息 3值填充 4快速排序 5二分查找 負數沒找到&#xff0c;其他表示下標

ES6 — ES14 新特性

一、ES6 新特性&#xff08;2015&#xff09; 1. let和const 在ES6中&#xff0c;新增了let和const關鍵字&#xff0c;其中 let 主要用來聲明變量&#xff0c;而 const 通常用來聲明常量。let、const相對于var關鍵字有以下特點&#xff1a; 特性varletconst變量提升??全局…

【漏洞復現】金蝶云星空管理中心 ScpSupRegHandler接口存在任意文件上傳漏洞 附POC

漏洞描述 金蝶云星空是一款云端企業資源管理(ERP)軟件,為企業提供財務管理、供應鏈管理以及業務流程管理等一體化解決方案。金蝶云星空聚焦多組織,多利潤中心的大中型企業,以 “開放、標準、社交”三大特性為數字經濟時代的企業提供開放的 ERP 云平臺。服務涵蓋:財務、供…

什么是切片

切片&#xff0c;是一個比較生疏的名詞&#xff0c;這是現代計算機編程語言或者說Python里的一個概念&#xff0c;大致意思是從一個集合里切出一塊來&#xff0c;就像切一塊豆腐&#xff0c;一刀下去切出兩塊豆腐 先看一個函數range、返回值是列表&#xff0c;內容和傳入range…

【MySQL】mysql中不推薦使用uuid或者雪花id作為主鍵的原因以及差異化對比

文章目錄 前言什么是UUID?什么是雪花ID?什么是MySql自增ID?優缺點對比UUID:優點1.全球唯一性2.無需數據庫支持 缺點1.存儲空間大2.索引效率低3.查詢效率低 雪花ID&#xff1a;優點1.分布式環境下唯一性 缺點1.依賴于機器時鐘2.存儲空間較大3.查詢效率低 MYSQL自增:優點1.簡單…