【数据结构与算法】关于排列组合
2017-01-05 19:59
323 查看
1、给出数字n,列出所有的排列组合的可能
【题目】:
【解法】: 用递归的方式
2、给出一个数组,列出所有可能的排列组合序列(不允许有重复)
【题目】:
【解法】:
3、给出数字n,k,返回所有排列组合序列中的第k个序列
【题目】:
【解法】:
【我自己的:出现了超时的错误】用了最简单的递归,超时了。实际上就是题目1的做法,只不过算到第k个就停止。
【参考另一种解法】
不使用递归,而是看k与排列组合序列的关系,总结规律,其实我一开始也希望这么做,但是总觉得要计算n的阶乘,然后就放弃了,但其实,对于这道题来说,n最大是9,所以可以一开始先把阶乘都算出来,存到数组里面,方便后面的调用。这里还有一个巧妙的地方,就是,提前把数字存到数组里面,用一个删除一个,这样方便找剩下数字里面的第n个数字。具体的代码为:
4、给出下一个全排列
【题目】
【解法】
【题目】:
【解法】: 用递归的方式
2、给出一个数组,列出所有可能的排列组合序列(不允许有重复)
【题目】:
【解法】:
3、给出数字n,k,返回所有排列组合序列中的第k个序列
【题目】:
【解法】:
【我自己的:出现了超时的错误】用了最简单的递归,超时了。实际上就是题目1的做法,只不过算到第k个就停止。
【参考另一种解法】
不使用递归,而是看k与排列组合序列的关系,总结规律,其实我一开始也希望这么做,但是总觉得要计算n的阶乘,然后就放弃了,但其实,对于这道题来说,n最大是9,所以可以一开始先把阶乘都算出来,存到数组里面,方便后面的调用。这里还有一个巧妙的地方,就是,提前把数字存到数组里面,用一个删除一个,这样方便找剩下数字里面的第n个数字。具体的代码为:
4、给出下一个全排列
【题目】
【解法】
相关文章推荐
- 【数据结构与算法】二叉查找树形态的排列组合
- 数据结构与算法[LeetCode]—Combinations 求1至n中所有K位数的所有组合
- [算法]数据结构中关于货郎担路径问题的常用解法,边界路径问题
- 数据结构——算法之(036)(输出字符串的所有排列)
- Python 数据结构与算法——从二分图到寻找最大排列(Maximum Permutation)
- 关于数学中排列组合之组合算法实现
- 关于一组数据的排列与组合
- 【数据结构与算法】关于二叉查找树的思考
- 关于排列组合算法的心得
- C++和java中关于全排列和组合的有关算法
- 【线性表二:】大学数据结构实验报告中的两三个关于线性表的小算法
- 数据结构(关于串的KMP匹配算法及其改进)
- 关于全排列组合算法
- (原创)基于关系数据库系统链式存储的树型结构数据,求某结点下的子树所有结点算法(t-sql语言实现)
- 数据结构中关于树的一些基本概念--随时更新 推荐
- java数据结构及算法三
- 高效率的排列组合算法
- 数据结构中关于图的一些基本概念
- 排列、组合及算法
- 排列组合算法1:生成全部有序列b