成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一篇聊聊最長未重復子字符串

開發(fā) 前端
使用字典存儲非重復子字符串的下一個可能有效字符的位置,然后迭代字符串更新 maxLen、dictionary 和遇到重復時的 startIdx。

[[434992]]

前言

我們社區(qū)從本期開始會將顧毅(Netflix 增長黑客,《iOS 面試之道》作者,ACE 職業(yè)健身教練。微博:@故胤道長[1])的 Swift 算法題題解整理為文字版以方便大家學習與閱讀。

該算法題解的 github 倉庫地址是:https://github.com/soapyigu/LeetCode-Swift[2]

不積跬步,無以至千里;不積小流,無以成江海,Swift社區(qū) 伴你前行。

1. 描述

給定一個字符串 s , 找出最長未重復的子字符串的長度。

2. 示例

示例 1

  1. 輸入:s = "abcabcbb" 
  2. 輸出:3 
  3. 解釋:最長未重復子字符串答案是"abc",長度為 3。 

示例 2

  1. 輸入:s = "bbbbb" 
  2. 輸出:1 
  3. 解釋:最長未重復子字符串答案是"b",長度為 1。 

示例 3

  1. 輸入:s = "pwwkew" 
  2. 輸出:1 
  3. 解釋:最長未重復子字符串答案是"wke",長度為 3。注意答案必須是子字符串,“pwke” 是一個子列,而不是一個子字符串。 

示例 4

  1. 輸入:s = "" 
  2. 輸出:0 

3. 答案

  1. class LongestSubstringWithoutRepeatingCharacters { 
  2.     func lengthOfLongestSubstring(_ s: String) -> Int { 
  3.         var maxLen = 0, startIdx = 0, charToPos = [CharacterInt]() 
  4.         let sChars = Array(s) 
  5.          
  6.         for (i, charin sChars.enumerated() { 
  7.             if let pos = charToPos[char] { 
  8.                 startIdx = max(startIdx, pos) 
  9.             } 
  10.              
  11.             // update to next valid position 
  12.             charToPos[char] = i + 1 
  13.             maxLen = max(maxLen, i - startIdx + 1) 
  14.         } 
  15.          
  16.         return maxLen 
  17.     } 

主要思想:使用字典存儲非重復子字符串的下一個可能有效字符的位置,然后迭代字符串更新 maxLen、dictionary 和遇到重復時的 startIdx。

 

  • 時間復雜度:O(n)
  • 空間復雜度:O(n)

 

責任編輯:武曉燕 來源: Swift社區(qū)
相關推薦

2021-12-08 14:02:20

符串排列搜索

2021-11-29 08:49:37

字符串轉(zhuǎn)換整數(shù)

2023-03-07 10:07:04

JavaScript字符串反斜杠

2023-07-31 07:48:43

Java內(nèi)存虛擬機

2023-09-21 08:05:49

Mybatis插件開發(fā)

2021-05-28 10:02:05

Swift5 字符串String

2021-09-02 09:22:13

算法無重復字符

2022-05-26 09:31:20

Java字符串

2021-07-03 10:02:30

Python字符串瀏覽器

2021-03-04 08:34:54

Java交換變量字符串基礎

2021-03-11 10:00:32

Java字符串開發(fā)

2022-09-26 00:00:02

字符串數(shù)據(jù)結構

2023-08-03 07:34:34

格式化字符串參數(shù)

2022-06-30 22:53:18

數(shù)據(jù)結構算法

2021-11-19 09:00:24

LeetCode字符串算法

2022-06-02 07:11:13

JVMJava

2023-12-08 08:26:05

數(shù)據(jù)存儲持久性

2016-12-29 15:58:00

字符串子串算法

2017-12-11 13:50:17

LinuxBash子字符串

2024-06-26 07:58:06

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美中文一区 | 久久久精品一区 | www.久久久久久久久久久久 | 久久国产精品免费一区二区三区 | 久在线视频 | www.青娱乐 | 日韩精品a在线观看图片 | 五月天综合影院 | 2021狠狠干 | 成人精品国产一区二区4080 | 国产欧美精品一区二区三区 | 久久精品男人的天堂 | 男女视频免费 | 久久91av| 国产日韩欧美中文 | 国产视频第一页 | 青青艹在线视频 | 免费观看毛片 | 综合精品久久久 | 欧美九九| 男女污网站 | 国产精品久久久久久久久久免费看 | 91免费视频| 国外成人免费视频 | 国产在线看片 | 国产成人精品亚洲日本在线观看 | 在线日韩视频 | 亚洲天堂av在线 | 国产乱码精品一品二品 | 日韩有码一区 | 天天躁日日躁狠狠很躁 | h视频免费在线观看 | 色眯眯视频在线观看 | 亚洲一区二区三 | 久久久久久毛片免费观看 | 亚洲精品一区二区网址 | 欧美日韩国产综合在线 | 99精品视频一区二区三区 | 亚洲成av人片在线观看 | 91色视频在线观看 | 91亚洲精品久久久电影 |