博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(LeetCode-回溯算法-1) 全排列
阅读量:6243 次
发布时间:2019-06-22

本文共 1186 字,大约阅读时间需要 3 分钟。

电话号码的字母组合

给定一个数字字符串,返回数字所有可能表示的字母组合。数字到字母的映射(和电话号码一样)。
输入:数字字符串 "23"输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].

分析:

1.采用递归与回溯算法,当index值为digits的大小时,则表示已完成排列
2.每次成功一次排列,就回退到上一步(str.pop_back()),进行下一次排列

void combinations(string digits,vector
&result,int index,string str){ if(index==digits.size()){ result.push_back(str); return; } string base[]={"", "", "abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz"}; for(int i=0;i
letterCombinations(string digits) { if(digits.empty())return vector
(); vector
result; combinations(digits, result, 0, ""); return result;}

全排列

给定一个含有不同数字的集合,返回所有可能的全排列。
比如,[1,2,3] 具有如下排列:[  [1,2,3],  [1,3,2],  [2,1,3],  [2,3,1],  [3,1,2],  [3,2,1]]

分析:

1.注意每次递归参加的排列元素不同

void fullOrder(vector
> &result,vector
&nums,vector
&tmp,int size){ if(tmp.size()==size){ result.push_back(tmp); return; } for(int i=0;i
> permute(vector
& nums) { vector
> result; vector
tmp; fullOrder(result,nums,tmp,nums.size()); return result;}

转载地址:http://hxpia.baihongyu.com/

你可能感兴趣的文章
绿色智慧城市|城市增长边界的几个误区
查看>>
美国土安全部发警告:尽快卸载QuickTime for Windows
查看>>
《SEO的艺术(原书第2版)》——3.9 为客户挖掘和直接营销开展SEO
查看>>
运营商造梦“管道+内容”三十载不言放弃
查看>>
《 自动化测试最佳实践:来自全球的经典自动化测试案例解析》一一3.1 本案例研究的背景...
查看>>
哈工大在CoNLL上斩获全球第四,车万翔博士详解背后的技术细节
查看>>
阿里钉钉VS企业微信 谁才是企业级一哥?
查看>>
2015-2020智慧城市物联网市场复合年增长率达23.2%
查看>>
做好数据分析让物联网数据价值最大化
查看>>
OpenStack Days走进北京 主角是用户
查看>>
JVM问题诊断常用命令:jinfo,jmap,jstack
查看>>
叶成辉成神州控股新任CEO 曾在IBM/EMC任职
查看>>
中小企业客户营收增长将成微博2016年主推动力
查看>>
四川能投成功进军智慧城市投资市场
查看>>
雅虎公开三封收到的FBI国家安全信函
查看>>
云计算在大数据形式下的发展
查看>>
如何更好地进行机房项目的控制成本
查看>>
爱立信高通中兴等成立Avanci专利授权平台 旨在加速物联网发展
查看>>
美情报公司:勒索病毒WannaCry的创作者可能是中国人
查看>>
华科技:以市场为导向 以用户体验为标准
查看>>