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

LeetCode之電話號碼的字母組合

開發 前端
給定一個僅包含數字 2-9 的字符串,返回所有它能表示的字母組合。答案可以按 任意順序 返回。給出數字到字母的映射如下(與電話按鍵相同)。注意 1 不對應任何字母。

[[442756]]

前言

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

LeetCode 算法到目前我們已經更新了 16 期,我們會保持更新時間和進度(周一、周三、周五早上 9:00 發布),每期的內容不多,我們希望大家可以在上班路上閱讀,長久積累會有很大提升。

不積跬步,無以至千里;不積小流,無以成江海,Swift社區 伴你前行。如果大家有建議和意見歡迎在文末留言,我們會盡力滿足大家的需求。

難度水平:中等

1. 描述

給定一個僅包含數字 2-9 的字符串,返回所有它能表示的字母組合。答案可以按 任意順序 返回。

給出數字到字母的映射如下(與電話按鍵相同)。注意 1 不對應任何字母。

[[442757]]

2. 示例

示例 1

  1. 輸入:digits = "23" 
  2. 輸出:["ad","ae","af","bd","be","bf","cd","ce","cf"

示例 2

  1. 輸入:digits = "" 
  2. 輸出:[] 

示例 3

  1. 輸入:digits = "2" 
  2. 輸出:["a","b","c"

約束條件:

  • 0 <= digits.length <= 4
  • digits[i] 是范圍 ['2', '9'] 的一個數字

3. 答案

  1. class LetterCombinationsPhoneNumber { 
  2.     func letterCombinations(_ digits: String) -> [String] { 
  3.         guard digits.count > 0 else { 
  4.             return [String]() 
  5.         } 
  6.          
  7.         var combinations = [String](), combination = "" 
  8.         let numberToStr = ["""""abc""def""ghi""jkl""mno""pqrs""tuv""wxyz"
  9.          
  10.         dfs(&combinations, &combination, numberToStr, digits, 0) 
  11.          
  12.         return combinations 
  13.     } 
  14.      
  15.     private func dfs(_ combinations: inout [String], _ combination: inout String, _ numberToStr: [String], _ digits: String, _ indexInt) { 
  16.         if combination.count == digits.count { 
  17.             combinations.append(combination) 
  18.             return 
  19.         } 
  20.          
  21.         let currentStr = fetchCurrentStr(from: digits, atindex, numberToStr) 
  22.          
  23.         for char in currentStr { 
  24.             combination.append(char
  25.             dfs(&combinations, &combination, numberToStr, digits, index + 1) 
  26.             combination.removeLast() 
  27.         } 
  28.     } 
  29.          
  30.     private func fetchCurrentStr(from digits: String, at indexInt, _ numberToStr: [String]) -> String { 
  31.         guard index >= 0 && index < digits.count else { 
  32.             fatalError("Invalid index"
  33.         } 
  34.          
  35.         let currentDigitChar = digits[digits.index(digits.startIndex, offsetBy: index)] 
  36.          
  37.         guard let currentDigit = Int(String(currentDigitChar)), currentDigit >= 0, currentDigit < numberToStr.count else { 
  38.             fatalError("Invalid digits"
  39.         } 
  40.          
  41.         return numberToStr[currentDigit] 
  42.     } 
  • 主要思想:經典的深度優先搜索,首先創建電話板
  • 時間復雜度:O(4^n), n 表示數字長度
  • 空間復雜度:O(n), n 表示數字長度

該算法題解的倉庫:LeetCode-Swift[2]

點擊前往 LeetCode[3] 練習

參考資料

[1]@故胤道長:

https://m.weibo.cn/u/1827884772

[2]LeetCode-Swift:

https://github.com/soapyigu/LeetCode-Swift[3]LeetCode: https://leetcode.com/problems/letter-combinations-of-a-phone-number

 

責任編輯:姜華 來源: Swift社區
相關推薦

2017-01-10 13:42:18

大數據深度學習識別圖片

2009-06-26 10:15:27

Google語音服務

2018-05-29 16:43:51

VDIIDV字母

2021-12-06 11:51:43

靜態庫動態庫C語言

2020-03-11 08:52:17

Session開源通信應用

2013-04-10 18:12:57

2015-07-23 10:43:47

云端數據存儲PostgreSQL在SparkTG

2015-08-19 09:21:19

國際電話區號代碼實踐

2021-09-17 05:42:13

微信一證通查騰訊

2021-07-12 11:15:20

黑客數據泄露網絡攻擊

2015-05-08 09:57:59

綁定端口端口復用網絡編程

2025-02-28 08:00:00

Java數據類型JVM

2021-09-06 11:51:26

項目C語言開發

2021-04-05 18:10:04

網絡安全數據泄露Facebook

2009-08-08 22:10:29

IP地址的分配局域網設置

2014-08-13 18:31:33

谷歌垃圾郵件欺詐郵件

2020-11-17 06:43:16

安卓智能手機移動應用

2023-12-27 07:56:29

內存哈希算法排序算法

2023-03-28 22:45:13

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 免费看片国产 | 久久精品一 | 麻豆久久久 | 亚洲免费成人 | 久草网站| 国产午夜精品一区二区三区四区 | 久久久久国产一区二区三区 | 国产精品一区二区不卡 | va在线 | 啪啪网页 | 91精品国产91久久综合桃花 | 韩日精品一区 | av手机在线| 在线视频91| 日韩精品一区二区三区中文字幕 | 久久中文视频 | 日日骚视频 | 久久久夜 | 夜夜骑首页 | 亚洲欧美高清 | 91精品国产自产精品男人的天堂 | 亚洲国产一区二区三区 | 成人午夜视频在线观看 | 欧美福利 | 免费视频久久 | 国产欧美一区二区三区久久人妖 | 欧美精品在线一区二区三区 | 性色网站 | 国产欧美精品 | 国产成人精品一区二区在线 | 久久网站免费视频 | www.色.com | 亚洲成人播放器 | 免费福利视频一区二区三区 | 99国产精品久久久 | 91精品国产91久久综合桃花 | 国产精品久久福利 | 亚洲午夜电影 | 九九热精品在线视频 | 免费观看www7722午夜电影 | 午夜影院 |