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

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

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

[[434992]]

前言

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

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

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

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社區
相關推薦

2021-12-08 14:02:20

符串排列搜索

2021-11-29 08:49:37

字符串轉換整數

2023-03-07 10:07:04

JavaScript字符串反斜杠

2023-09-21 08:05:49

Mybatis插件開發

2021-05-28 10:02:05

Swift5 字符串String

2023-07-31 07:48:43

Java內存虛擬機

2021-09-02 09:22:13

算法無重復字符

2021-07-03 10:02:30

Python字符串瀏覽器

2021-03-04 08:34:54

Java交換變量字符串基礎

2021-03-11 10:00:32

Java字符串開發

2022-05-26 09:31:20

Java字符串

2023-08-03 07:34:34

格式化字符串參數

2022-09-26 00:00:02

字符串數據結構

2022-06-30 22:53:18

數據結構算法

2021-11-19 09:00:24

LeetCode字符串算法

2022-06-02 07:11:13

JVMJava

2016-12-29 15:58:00

字符串子串算法

2023-12-08 08:26:05

數據存儲持久性

2017-12-11 13:50:17

LinuxBash子字符串

2024-06-26 07:58:06

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲精品久久久久国产 | 九色视频网站 | 黑人一级黄色大片 | 国产精品国产a | 国产精品综合网 | 国产在线第一页 | 日韩亚洲一区二区 | 操操日 | 国产91在线视频 | 欧美福利一区 | 国产美女在线播放 | 久久国产精99精产国高潮 | 亚洲视频中文字幕 | 欧美日本在线观看 | 亚洲欧美激情精品一区二区 | 91在线观看免费视频 | 国产在线观看一区二区三区 | 国产精品久久久久久久久久久久冷 | 国产精品久久久久久久三级 | 久一精品 | 亚州中文字幕 | 欧美日韩一二区 | 欧美激情在线一区二区三区 | 日韩精品在线一区 | av黄色片| 久久综合久久自在自线精品自 | av在线电影网站 | 久久综合九九 | 日韩在线中文字幕 | 中文字幕高清在线 | 国产在线视频在线观看 | 欧美成人精品一区二区男人看 | 亚洲一区视频在线 | 日日日色| 91高清在线观看 | 欧美精品在线免费观看 | 国产区久久| 亚洲资源在线 | 国产精品区一区二区三区 | 一级欧美一级日韩片免费观看 | 99国产精品99久久久久久 |