LeetCode17

LeetCode第17题解析 给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例: 输入:"23" 输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"]. 说明: 尽管上面的答案是按字典序排列的,但是你可以任意选择答案输出的顺序。 解法一:用回溯的方法,DFS。 class Solution { public: //先建立一个map,键为char,值... 阅读详情

17. 电话号码的字母组合

 


给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。

给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。

示例:

输入:"23"
输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].

说明:
尽管上面的答案是按字典序排列的,但是你可以任意选择答案输出的顺序。

 

//给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。
//
//给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。
//输入:"23"
//输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].

#include<iostream>
#include<vector>
#include<map>
#include<stack>
#include<sstream>
#include<cstring>
using namespace std;

//方法错误,只能找出2个数字的字母组合
//class Solution {
//public:
//    vector<string> letterCombinations(string digits) {
//        map<char,string> res;
//        res['2']="abc";
//        res['3']="def";
//        res['4']="ghi";
//        res['5']="jkl";
//        res['6']="mno";
//        res['7']="pqrs";
//        res['8']="tuv";
//        res['9']="wxyz";
//	   vector<string> res_vec;
//	   vector<string> result;
//	   int len=digits.length();
//
//	  for(int i=0;i<len;i++){
//		  res_vec.push_back(res[digits[i]]);
//	  } 
//	  for(int i=0;i<res_vec[0].size();i++){
//		  
//		  for(int j=1;j<res_vec.size();j++){
//              int len=res_vec[j].size()-1;
//
//			  while(len>=0){
//
//              string s="";
//			  char a=res_vec[0][i];
//			  char b=res_vec[j][len];
//		      s+=a;
//			  s+=b;
//			  result.push_back(s);
//			  len--;
//
//			  }
//		  }
//	  }
//	  return result;
//    }
//};
class Solution{
private:
	static string str[10];
	vector<string> res;
public:
	vector<string> letterCombinations(string digits) {
		
		if(digits.empty())
			return res;
		string str;
		Combine(digits,0,str);
		return res;
	}

	void Combine(string &digits,int i,string s){
		if(i>=digits.size())
		{
			res.push_back(s);
			return;
		}
		//输入的数字对应的字符串
		string ss=str[digits[i]-'0'];
		for(int j=0;j<ss.size();j++)
			Combine(digits,i+1,s+ss[j]);
	}
};

string Solution::str[]={"","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"};

int main(){
	//vector<string> aa(3);
	//aa[0]="dwda";
	//aa[1]="dwa";
	//aa[2]="dwa";
	//cout<<aa[1][0]<<endl;
	string a="234";
	Solution solution;
	vector<string> res=solution.letterCombinations(a);
	for(int i=0;i<res.size();i++)
		cout<<res[i]<<endl;
	system("pause");
}

 

Python random穷举法leetcode题库:17. 电话号码的字母组合,别样开辟思路,大佬会不会喷咱^_^ Python random穷举法leetcode题库:17. 电话号码的字母组合,别样开辟思路,大佬会不会喷咱 ^ _ ^ 见下图:先说下leetcode17题: 电话号码的字母组合 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例: 输入:“23” 输出:[“ad”, “ae”, “af”, “bd”, “be”, “bf”, “cd”, “ce”, “cf”]. 说明: 尽管上面的答案是按字典序排列的,但是你可以任意选择答案输出的顺序。 下面直接上代码吧:写的比较粗糙,我直接随便写了个例子号 立即下载

相关推荐

通达信K线主图指标公式实战:如何用颜色标记快速识别涨停与炸板信号

本文详细介绍了如何利用通达信K线主图指标公式,通过颜色标记快速识别涨停与炸板等关键信号。通过实战拆解公式源码,手把手教您构建直观的“视觉交易系统”,将复杂的K线形态转化为醒目的颜色信号,帮助投资者高效聚焦机会与风险,提升技术分析效率。

weixin_29302047的博客 1737

每日一题-13-电话号码的字母组合

每日一题-13-电话号码的字母组合 电话号码的字母组合 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例 1: 输入:digits = "23" 输出:["ad","ae","af","bd","be","bf","cd","ce","cf"] 示例 2: 输入:digits = "" 输出:[] 示例 3: 输入:digits = "2" 输出:["a","b","c"] 提

wen的博客 360

金融学习之十三——数据去极值和标准化处理

拿到数据后,数据中可能会存在一些超大或极小的值,这些值与其他的值离得较远,显得格格不入,我们称其为离群点,有时也称为异常点。对于这些值,它的存在会导致影响最终的分析结果,带偏我们的分析。举个简单的例子,10个人的收入分别为2000,2500,2300,2425,2512,2375,2700,2265,2345,10000000,只算前9个,平均值就是2380,但加上最后一个,平均值就是1002144.2,就可能严重带偏最后分析的结果。因此,对于这样的数据,我们需要将其去除或修改。 (一)数据去极值 数据去极

ryo007gnnu的博客 7166

图解LeetCode17:电话号码的组合(回溯算法解题)

LeetCode17:电话号码的组合 给定一个仅包含数字2-9的字符串,返回所有它能够表示的字母组合。答案可以按任意顺序返回 给出数字到字母的映射如电话按键一样。注意1不对应任何字母。 示例: 输入:"23" 输出:["ad","ae","af","bd","be","bf","cd","ce","cf"] 输入:"" 输出:[] 输入:"2" 输出:["a","b","c"] 思路 这个题目就是类似于给出所有的排列组合,而且是有顺序的排列组合,这就比如走路线问题。假如你回家坐公交一样,在开始可以做1

weixin_46429290的博客 1592

Aspose Java 25.10 版本深度破解:基于字节码修改的实战指南

本文提供了Aspose Java 25.10版本基于字节码修改的实战指南。详细介绍了如何通过Javassist工具逆向分析并修改Aspose Cells、Words、Slides及PDF组件的许可证验证逻辑,从而实现绕过限制,并完成最终的打包与功能验证。

stone的博客 1350

内窥镜胶囊(胶囊内镜)硬件方案

内窥镜胶囊(胶囊内镜)硬件方案 前言 说明:该方案为作者2018年上半年完成的第一版,后来搁置了一段时间,才重启这个项目。目前(2020.07)第二版已经快要完成。[联系v:1#7#6#3#3#3#5#0#8#7#0]先给一下第一版和第二版的基本参数。 第一版: 续航时间:3h 帧率:0.5fps 尺寸:12mm * 25mm 角度:45° 第二版: 续航时间:12h 帧率:2-6fps 尺寸:9.8mm * 25mm 角度:130° 第一版属于尝试版,整体方案不是很成熟。第二版这个数据就非常优秀了。我拿了

CrekerLi的博客 4776

LeetCode 第17题

在学习了他人的思路后我使用了下面的算法,是一个经典的递归(深度优先搜索,DFS)实现,用于生成电话号码的字母组合。每个数字按电话键盘的映射对应多个字母,代码通过递归逐步构建每个可能的组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。的字符串,返回所有它能表示的字母组合。运行时间可以达到最短,但是所需要的内存很大。我最开始是使用了一个回溯函数来解题。运行时间稍长但是需要内存极少。

m0_61862494的博客 621

知识见闻 - Salesforce公司发展史

不过,通过将自己开发的产品与公司收购的其它云产品进行结合,Salesforce可以为用户提供更多的产品种类,Salesforce可以继续强化自己的平台和产品套件属性,这一平台和套件的发展规模已经远远超出了一个单一的CRM的规模。他们围绕一个相对简单的产品向用户兜售云的概念,然后,他们开始开发其它产品,并寻找培育一个不断增长的生态系统的方法,最理想的情况是能驱动Salesforce的营收增长。现在,Salesforce通过打造更多的用例并改进自己产品的方式来直接应对竞争对手的竞争,从而捍卫自己现在的地位。

guoqx的专栏 1448

leetCode 17.电话号码的字母组合 + 回溯算法 + 图解 + 笔记

LeetCode:17.电话号码的字母组合_哔哩哔哩_bilibili。的字符串,返回所有它能表示的字母组合。代码随想录 (programmercarl.com)解决思路:1.创建字符集(使数字和字母集做映射)注意 1 不对应任何字母。给出数字到字母的映射如下(与。循环的问题,举个栗子:输入。1).确定回溯函数参数。3).确定单层遍历逻辑。

呵呵哒!的博客 2038

基于PWM的汽车仪表步进电机微步驱动优化实践

本文深入探讨了基于PWM的微步驱动技术,用于优化汽车仪表步进电机的运行性能。通过将传统的分步驱动升级为PWM微步细分驱动,利用正弦/余弦查表法合成旋转磁场,有效消除了指针抖动与噪声,实现了指针的平滑、精准运动。文章以STM32和VID2905电机为例,提供了详细的硬件连接、代码实现及高级优化技巧,为提升汽车仪表体验提供了实用方案。

weixin_29169505的博客 510

3D识别建模 — 基于ReconstructMe和EAGLE EYES SCANNER的实现

3D实体识别建模,作为3D打印反向工程的一个重要环节,今天就让我们利用ReconstructMe和EAGLE EYES SCANNER来了解一下。 第一步、软件和硬件准备就绪 ReconstructMe下载并安装 http://reconstructme.net/?wpdmdl=160 EAGLE EYES SCANNER直接将相应USB插入电脑接口即OK,之后在    中点击搜索“设备管理...

qq_40013290的博客 880

【力扣LeetCode】 LCP 17 速算机器人(Java)两种思路

【力扣LeetCode】 LCP 17 速算机器人(Java)两种思路2.读入数据总结欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮

花开淡墨Cc的博客 351

[PCIe5.0] 2.2.7.1 TPH Rules

TPH 机制通过硬件提示优化数据流,适用于高性能计算和存储场景。

系统固件工程师 348

剑指 Offer 17. 打印从1到最大的n位数- 力扣(LeetCode)

剑指 Offer 17. 打印从1到最大的n位数- 力扣(LeetCode)

Onwaier的博客 600

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

《LeetCode力扣练习》第17题 电话号码的字母组合 Java

《LeetCode力扣练习》第17题 电话号码的字母组合 Java 一、资源 题目: 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例 1: 输入:digits = “23” 输出:[“ad”,“ae”,“af”,“bd”,“be”,“bf”,“cd”,“ce”,“cf”] 示例 2: 输入:digits = “” 输出:[] 示例 3: 输入:digits = “2” 输出

XRT_knives的博客 330

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

LeetCode 17

LeetCode 17 Medium 解题思路: 利用DFS和HashTable的方法,使用逐层递归进行求解(如果digits的长度太长会导致递归栈爆掉),设置全局的vector存储最后的结果。 代码: class Solution { public: vector<string> final_book; //利用回溯算法,对vector进行追加 void ...

chizhonghang的博客 168

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

力扣LeetCode #17 电话号码的字母组合(LetterCombinations)

- 题目描述 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 数字 字母 2 abc 3 def 4 ghi 5 jkl 6 mno 7 pqrs 8 tuv 9 wxyz 来源:LeetCode(https://leetcode-cn.com/problems/letter-combinations-of-a-phone-number/) - 示例 输入:“23” 输出

weixin_49155948的博客 701

leetcode-17 力扣 java版本

给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例: 输入:"23" 输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"]. 说明: 尽管上面的答案是按字典序排列的,但是你可以任意选择答案输出的顺序。 public List&l...

mysql表名与列名单引号‘’引发的错误 366

17. 电话号码的字母组合(力扣LeetCode)

函数backstracking是核心,它会递归地探索所有可能的字母组合,每次递归调用都会向一个组合中添加一个字母,直到得到一个完整的字母组合然后将其添加到结果集中。函数中使用了path变量来存储当前的字母组合状态,并在每次递归返回之前进行回溯,以便尝试下一个可能的字母组合。变量a是一个映射数组,它将数字映射到对应的所有可能字母上。输出:[“ad”,“ae”,“af”,“bd”,“be”,“bf”,“cd”,“ce”,“cf”]给出数字到字母的映射如下(与电话按键相同)。输出:[“a”,“b”,“c”]

m0_73841621的博客 531

力扣:17. 电话号码的字母组合

题目中的“23”,对应为“abc”,“def”,按下2和3时,能出现的选择,只有“a”,“b”,"c"和“d”,“e”,“f”,然而按下第一个数字2,“a”,“b”,"c"不能互相排列,再次按下数字3,“d”,“e”,“f”可以和前面的“a”,“b”,"c"互相组合,组合的可能就为[“ad”,“ae”,“af”,“bd”,“be”,“bf”,“cd”,“ce”,“cf”]输出:[“ad”,“ae”,“af”,“bd”,“be”,“bf”,“cd”,“ce”,“cf”]输出:[“a”,“b”,“c”]

yuanshenzhilu的博客 730

Leetcode17

【代码】Leetcode17。

qq_53451622的博客 241

LeetCode_17

LeetCode_17题意以及限制条件想到的所有可能解法对应的代码测试样例 题意以及限制条件 题目: 限制条件: 想到的所有可能解法 Ways_1——回溯 时间复杂度——O(3m3^m3m X 4n4^n4n),其中 m 是输入中对应 3个字母的数字个数(包括数字 2、3、4、5、6、8),n是输入中对应 4个字母的数字个数(包括数字 7、9); 空间复杂度——O(m + n),m+n是输入数字的总个数。 对应的代码 Ways_1 class Solution { pu

jacklovemonica的博客 232

LeetCode(力扣)17. 电话号码的字母组合Python

【代码】LeetCode(力扣)17. 电话号码的字母组合Python。

qq_44953660的博客 321

[Golang]力扣Leetcode—剑指Offer—数组—17.打印从1到最大的n位数(遍历)

[Golang]力扣Leetcode—剑指Offer—数组—17.打印从1到最大的n位数(遍历)

皮埃尔的博客 255

力扣---LeetCode面试题17.04.消失的数字

第一弹 --- 力扣LeetCode每日一题

小沈.的博客 907

(C语言版)力扣(LeetCode)面试题 17.04. 消失的数字5种解法

(C语言版)力扣(LeetCode)面试题 17.04. 消失的数字5种解法

立志做一个高产且细节博主 2216
上一篇: LeetCode16
下一篇: LeetCode120
LearnToStick
博客等级 码龄9年 11粉丝 50原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值