【算法】算法题解---电话号码的字符组合
创始人
2024-06-02 03:25:11
0

算法名称

电话号码的字符组合

算法描述

给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。

给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。
在这里插入图片描述
示例 1:

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

示例 2:

输入:digits = “”
输出:[]

示例 3:

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

算法分析

数字和字母的映射: 可以使用map或者定义一个二维数组,例如:string letterMap[10],来做映射,我这里定义一个二维数组,代码如下:

const string letterMap[10] = {"", // 0"", // 1"abc", // 2"def", // 3"ghi", // 4"jkl", // 5"mno", // 6"pqrs", // 7"tuv", // 8"wxyz", // 9
};

用回溯法解决for循环:
从下图中可以看出遍历的深度,就是输入"23"的长度,而叶子节点就是我们要收集的结果,输出[“ad”, “ae”, “af”, “bd”, “be”, “bf”, “cd”, “ce”, “cf”]。

在这里插入图片描述

算法解析代码

var letterCombinations = function(digits) {//获取digits的长度const k = digits.length;//使用mapconst map = ["","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"];//digits为空,则输出[]if(!k) return [];//当digits只有一个数字,则通过分割字符串的方式用map获得结果if(k === 1) return map[digits].split("");//定义函数function backtracking(n, k, a) {//当path的长度等于digits的长度,则匹配完毕,添加到res中if(path.length === k) {res.push(path.join(""));return;}//对digits相对应的数字所包含的字母进行递归添加到path中for(const v of map[n[a]]) {path.push(v);//进行递归backtracking(n, k, a + 1);path.pop();}}const res = [], path = [];//调用函数backtracking(digits, k, 0);//返回结果return res;
};

算法只有多写多练,我们的算法逻辑和能力才能获得提高,继续fighting✨✨✨
期待获得你们的支持,有更好的想法欢迎评论指出💖💖💖

相关内容

热门资讯

武隆天生三桥导游词 武隆天生三桥导游词范文  重庆武隆天生三桥风景区位于重庆市的武隆区城区东南20千米处,武隆至仙女山高...
长城导游词四年级作文 长城导游词四年级作文  作为一名导游,通常需要准备好一份导游词,导游词由引言、主体和结语三部分构成。...
介绍贵州导游词 介绍贵州导游词  作为一名导游,往往需要进行导游词编写工作,导游词可以帮助旅游者欣赏景观,以达到游览...
记金华的双龙洞导游词 记金华的双龙洞导游词  作为一名导游,有必要进行细致的导游词准备工作,导游词是导游员进行实地口语导游...
南京夫子庙的导游词 南京夫子庙的导游词  导语:南京夫子庙,即南京孔庙、南京文庙,位于南京市秦淮区秦淮河北岸贡院街。下面...
重庆北温泉公园简介导游词 重庆北温泉公园简介导游词  北温泉公园位于北碚区,北濒嘉陵江,南倚缙云山。其前身为温泉寺,初建于南朝...
北山公园的导游词 关于北山公园的导游词  吉林北山地理位置在吉林城区西北,面积是一百二十八万平方米,主峰西峰海拔高度为...
美丽的校园导游词 美丽的校园导游词(精选3篇)  作为一名导游,总不可避免地需要编写导游词,导游词是我们引导游览时使用...
白帝城导游词 白帝城导游词  各位朋友们:  大家好!大家辛苦了!首先请允许我代表我们朝阳旅行社欢迎各位朋友来本地...
新昌大佛寺导游词 新昌大佛寺导游词  大佛寺,又名大佛禅寺,位于浙江省新昌县城南明街道,始建于东晋。下面是小编为大家整...
骊山导游词介绍 骊山导游词介绍  骊山是我国古今驰名的风景游览胜地,因系西周时骊戎国国地,因此称为骊山,唐时临潼名昭...
江苏扬州个园导游词 江苏扬州个园导游词  个园位于扬州古城东北隅,盐阜东路10号,曾荣获第三批“全国重点文物保护单位”和...
天坛导游词 天坛导游词  各位游客,我们今天所要参观的就是以前皇帝祭天的地方——天坛,天坛导游词。  明朝永乐皇...
贵州凉都六盘水导游词 贵州凉都六盘水导游词  作为一名具备丰富知识的导游,通常会被要求编写导游词,导游词具有极强的实用性,...
唐山南湖公园的导游词 唐山南湖公园的导游词  唐山南湖公园导游词一  大家好,我是你们的南湖导游。  现在大家来到了南湖公...
南京玄武湖导游词讲解 南京玄武湖导游词讲解  作为一名优秀的旅游从业人员,通常会被要求编写导游词,导游词事实上是一种对旅游...
介绍武侯祠的导游词 介绍武侯祠的导游词  导游词是导游人员引导游客观光游览时的讲解词,是导游员同游客交流思想,向游客传播...
云南昆明大观公园导游词 云南昆明大观公园导游词大观公园位于昆明市西郊约3公里的滇池畔。它近吞波光浩渺的滇池,远与太华山遥遥相...
海南三亚天涯海角导游词 海南三亚天涯海角导游词各位朋友,大家好!  一曲《请到天涯海角来》以其优美的旋律、欢快的节奏和火热的...
大觉山概况导游词 大觉山概况导游词  大觉山是资溪县首屈一指的游览胜地。俗话说:“大觉山水冠武夷,武夷山水大觉奇。”大...