国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

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

2021-09-17 05:42:13

微信一證通查騰訊

2015-08-19 09:21:19

國際電話區號代碼實踐

2021-07-12 11:15:20

黑客數據泄露網絡攻擊

2025-02-28 08:00:00

Java數據類型JVM

2021-09-06 11:51:26

項目C語言開發

2015-05-08 09:57:59

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

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技術棧公眾號

亚洲一区二区久久久久久久| 少妇视频在线观看| 写真片福利在线播放| 亚洲啊啊啊啊啊| 成人观看免费完整观看| 男人日女人的bb| 日韩高清dvd| 69免费视频| 精品美女视频在线观看免费软件| 久久亚洲欧美国产精品乐播 | 久久久久久久一区| 日本精品一区二区三区在线| 狠狠爱免费视频| 99re6这里只有精品视频在线观看| 俺去亚洲欧洲欧美日韩| caoporn视频在线| jizzjizz欧美69巨大| 国产精品福利av| 四色成人av永久网址| 久久一区二区三区四区| 福利网在线观看| 爽爽淫人综合网网站| 国产一区二区视频在线观看| 制服诱惑亚洲| 51精品秘密在线观看| 亚洲裸体xxxx| 男人添女人下部视频免费| 妖精视频成人观看www| 国产欧美日韩中文| 亚洲精品aa| 日韩一区二区三区四区| 一区二区三区视频国产日韩| 丰满放荡岳乱妇91ww| 免费h精品视频在线播放| 美女av一区| 亚洲欧洲黄色网| 欧美精品第一区| 亚洲狠狠婷婷综合久久久| 九九亚洲视频| 欧美日韩无遮挡| 欧美国产一区视频在线观看| 亚洲性图自拍| 国产成人精品免高潮费视频| 成人在线视频免费| 97超级碰在线看视频免费在线看| 亚洲影院天堂中文av色| 欧美第一黄色网| 午夜视频一区二区在线观看| 久久精品视频网站| 欧美极度另类| 日韩一区二区三区视频在线| gratisvideos另类灌满| 欧美日韩五月天| 国产精品-区区久久久狼| 亚洲高清久久久| 怡红院在线播放| 亚洲深夜福利网站| av综合电影网站| 久久全国免费视频| 免费成人av| 国产精品一区二区欧美| 久久男女视频| 久久午夜a级毛片| 韩日在线一区| 亚洲天堂2020| 日韩高清中文字幕一区二区| 欧洲亚洲女同hd| 久久激五月天综合精品| www.日本在线播放| 中文字幕第一页久久| 神马午夜dy888| 欧美日本在线播放| 美女100%一区| 僵尸世界大战2 在线播放| 日韩一级裸体免费视频| 成人免费视频视频在线观看免费| 高潮在线视频| 国产a级黄色大片| 亚洲人午夜色婷婷| 免费成人你懂的| 日韩三级电影网| 在线视频欧美日韩| 国产精品毛片久久| 国产中文字幕在线免费观看| 亚洲18色成人| 日韩电影精品| 国产精品福利无圣光在线一区| 99久久99久久久精品齐齐| av片在线观看网站| 香蕉久久夜色| 日韩精品一区二区三区在线| 在线观看污网站| 国产精品一区二区久久精品| 亚洲日本中文字幕区| 欧美三级黄网| 国产在线观看91精品一区| 国产成人一区在线| 大地资源网在线观看免费官网| 麻豆免费看一区二区三区| 国产一区二区三区四区五区加勒比 | 91精品国产高清久久久久久91裸体| 亚洲大片在线| 另类图片亚洲色图| 日韩午夜av| 色老板在线观看| 免费成人高清视频| 激情懂色av一区av二区av| 99国产欧美久久久精品| 一区免费在线| 伊人成综合网yiren22| 成人au免费视频影院| 91成人福利在线| 五月婷婷激情综合| 久久男女视频| 都市激情亚洲一区| 欧洲精品一区二区三区久久| 亚洲国产欧美久久| 老司机一区二区三区| 国产美女情趣调教h一区二区| 欧美日韩日本网| 国产精品美女久久久免费| 国产69精品久久久久久| 久操成人在线视频| 欧美精品一区二区不卡| 欧美日韩一二三四五区| 国产成人一级电影| 91精品蜜臀一区二区三区在线| 天堂中文字幕| 91久久精品日日躁夜夜躁国产| 欧美日韩另类一区| 老色鬼久久亚洲一区二区| 91精品美女| 成人看片网站| 四虎精品永久免费| 亚洲精品一区二区三区中文字幕| 久久久91麻豆精品国产一区| 日韩精品影院| 樱花草涩涩www在线播放| 久久77777| 一二三四社区在线视频| 国新精品乱码一区二区三区18| 日韩中文在线观看| 福利视频一区二区| 免费观看日韩av| 国产精品天天看天天狠| 日韩毛片久久久| www.一区二区.com| 久久久久北条麻妃免费看| 日韩欧美国产网站| 色综合久久66| 97久久精品人人爽人人爽蜜臀| 国产乱色国产精品免费视频| 极品少妇xxxx精品少妇偷拍| 日韩最新在线视频| 亚洲图片欧美色图| 中文字幕综合网| 亚洲激情在线激情| 欧美性猛交99久久久久99按摩| 亚洲一区二区在线视频| 91黄色免费观看| 91国在线观看| 欧美精品三级日韩久久| 91精品国产色综合久久ai换脸 | 九九九九久久久久| 四虎4hu永久免费入口| 欧美极品欧美精品欧美| 一二三四社区在线视频6| 最全影音av资源中文字幕在线| 国产在线制服美女| 亚洲欧洲闷骚av少妇影院| 毛片av在线| caoporn免费在线视频| 午夜无码国产理论在线| 婷婷综合一区| 亚洲香蕉av| 国产精一品亚洲二区在线视频| 91丨porny丨国产| 欧美性xxxx极品hd满灌| 久热在线中文字幕色999舞| 国产91热爆ts人妖在线| 亚洲7777| 日本精品福利视频| 美女福利视频在线| 欧美日韩日本网| 午夜精品美女自拍福到在线| 69视频在线播放| 四虎4hu永久免费入口| 日本资源在线| 欧美在线视屏| 五月激情丁香一区二区三区| 中文字幕日韩有码| 99热这里只有精品免费| 在线观看涩涩| 国产成人免费视频精品含羞草妖精| 亚洲第一福利在线观看| 亚洲欧洲一区二区| 福利视频一区| 国产精品素人视频| 国产精品午夜一区二区欲梦| 亚洲第一视频|