当前位置: 首页 > news >正文

东莞最新防控通知搜索引擎优化培训中心

东莞最新防控通知,搜索引擎优化培训中心,淘宝网页设计培训,不会编程 做网站文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【解题思路】八【时间频度】九【代码实现】十【提交结果】 一【题目类别】 回溯 二【题目难度】 中等 三【题目编号】 17.电话号码的字母组合 四【题目描述】 给定一个…

文章目录

  • 一【题目类别】
  • 二【题目难度】
  • 三【题目编号】
  • 四【题目描述】
  • 五【题目示例】
  • 六【题目提示】
  • 七【解题思路】
  • 八【时间频度】
  • 九【代码实现】
  • 十【提交结果】

一【题目类别】

  • 回溯

二【题目难度】

  • 中等

三【题目编号】

  • 17.电话号码的字母组合

四【题目描述】

  • 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。
  • 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。
    在这里插入图片描述

五【题目示例】

  • 示例 1

    • 输入:digits = “23”
    • 输出:[“ad”,“ae”,“af”,“bd”,“be”,“bf”,“cd”,“ce”,“cf”]
  • 示例 2

    • 输入:digits = “”
    • 输出:[]
  • 示例 3

    • 输入:digits = “2”
    • 输出:[“a”,“b”,“c”]

六【题目提示】

  • 0 <= digits.length <= 4
  • digits[i] 是范围 ['2', '9'] 的一个数字。

七【解题思路】

  • 但凡涉及到组合类的题目,基本都使用回溯算法解决,本题也不例外,不过是在原本的基础上添加映射关系
  • 根据题目信息可知,我们最终组合的是字母,但是输入数据为数字,所以需要简历一个数字到字母的映射
  • 其余步骤和正常的回溯过程一致
    • 设置边界条件:如果所有的数字都遍历完毕了,就完成此次计算
    • 回溯拼接某一电话号码对应的字母:和正常的回溯过程一致,不过需要先取出数字对应的字母进行回溯
  • 最后返回结果即可
  • 具体细节可以参考下面的代码

八【时间频度】

  • 时间复杂度: O ( 3 m × 4 n ) O(3^m × 4^n) O(3m×4n) m m m 3 3 3个字母对应的数字个数, n n n 4 4 4个字母对应的数字个数
  • 空间复杂度: O ( m + n ) O(m + n) O(m+n) m m m 3 3 3个字母对应的数字个数, n n n 4 4 4个字母对应的数字个数

九【代码实现】

  1. Java语言版
class Solution {// 数字和字母的映射private static final String[] phoneMap = {"","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz",};public List<String> letterCombinations(String digits) {// 边界条件的判断if (digits == null || digits.length() == 0) {return new ArrayList<>();}// 存储最终结果List<String> res = new ArrayList<>();// 从第一个电话号码开始计算dfs(res, new StringBuffer(), digits, 0);// 返回最终结算结果return res;}// 使用回溯计算电话号码的字母组合private void dfs(List<String> res, StringBuffer temp, String digits, int index) {// 将所有电话号码遍历完毕即可返回if (index == digits.length()) {res.add(temp.toString());return;}// 回溯拼接某一电话号码对应的字母char digit = digits.charAt(index);String letters = phoneMap[digit - '0'];for (int i = 0; i < letters.length(); i++) {temp.append(letters.charAt(i));dfs(res, temp, digits, index + 1);temp.deleteCharAt(temp.length() - 1);}}}
  1. Python语言版
class Solution:def letterCombinations(self, digits: str) -> List[str]:# 边界条件的判断if not digits:return list()# 数字和字母的映射phoneMap = {"2" : "abc","3" : "def","4" : "ghi","5" : "jkl","6" : "mno","7" : "pqrs","8" : "tuv","9" : "wxyz",}# 存储最终结果res = list()# 存储临时结果temp = list()# 使用回溯计算电话号码的字母组合def dfs(index):# 将所有电话号码遍历完毕即可返回if index == len(digits):res.append("".join(temp))return# 回溯拼接某一电话号码对应的字母digit = digits[index]for letter in phoneMap[digit]:temp.append(letter)dfs(index + 1)temp.pop()# 从第一个电话号码开始计算dfs(0)# 返回最终结算结果return res
  1. C++语言版
class Solution {public:// 数字和字母的映射const vector<string> phoneMap = {"","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz",};// 使用回溯计算电话号码的字母组合void dfs(vector<string>& res, string& temp, string digits, int index) {// 将所有电话号码遍历完毕即可返回if (index == digits.size()) {res.push_back(temp);return;}// 回溯拼接某一电话号码对应的字母int digit = digits[index] - '0';const string& letters = phoneMap[digit];for (char letter : letters) {temp.push_back(letter);dfs(res, temp, digits, index + 1);temp.pop_back();}}vector<string> letterCombinations(string digits) {// 存储最终结果vector<string> res;// 边界条件的判断if (digits.empty()) {return res;}// 存储临时结果string temp;// 从第一个电话号码开始计算dfs(res, temp, digits, 0);// 返回最终结算结果return res;}
};

十【提交结果】

  1. Java语言版
    在这里插入图片描述

  2. Python语言版
    在这里插入图片描述

  3. C++语言版
    在这里插入图片描述

http://www.hkea.cn/news/966901/

相关文章:

  • 做线上网站需要钱吗互联网营销推广
  • 找个美工做淘宝网站需要多少钱南昌seo方案
  • 网站用户登录流程图外贸高端网站设计公司
  • 做搜狗手机网站优化软代写
  • wordpress页面背景颜色win7优化设置
  • 做分类信息网站代码百度搜索推广优化师工作内容
  • 南京网站开发公司关键词推广
  • 合水口网站建设百度指数明星人气榜
  • 上传网站图片处理推广软件免费
  • 做网站怎么写代码下载百度软件
  • 县城做网站网站搭建关键词排名
  • b2b多平台一键发布seo需要掌握哪些技术
  • 网站建设推广合同网络广告联盟
  • 汽车网站正在建设中模板什么是营销模式
  • 宜昌seo百度seo优化
  • 做网站公司q房网seo快速排名站外流量推广
  • 南宁网站排名优化广州发布紧急通知
  • 网站建设的策划方案seo排名
  • 网站模板绑定域名培训班
  • coupang入驻条件2022台州关键词优化报价
  • 网站建设前景怎么样google优化师
  • 上海免费网站建设淘宝引流推广怎么做
  • 单位网站建设目的西安网站建设公司排行榜
  • 福州制作网站软件无人在线观看高清视频单曲直播
  • 建设银行卡网站百度账号登录个人中心
  • 网站显示500错误怎么解决方法seo网站推广排名
  • 广告免费设计在线生成网站排名优化
  • 余姚公司网站建设怎么建网址
  • 网站域名授权怎么做市场营销案例100例
  • kindeditor代码高亮 wordpressseo优化排名经验