群里有人问的问题:
1、function([1,2,3,4], 2), 得结果12,13,14,23,24,34
2、function([1,2,3,4], 3), 得结果123,124,234
从这两个看出规律,就是给一个数组和number为参数,返回最终的排列组合。
偶算法方面实在蛋白,但是对递归非常喜欢。下班回家尝试些了一下,代码很白,不过答案还真出来了。
<script type="text/javascript">
<!--
var loop = function(arry, n){
if(arry.length < n || !n){
return "end";
};
var result = "";
var base = "";
for (var i = 0; i < n-1 ; i++ ) {
base += arry[i];
};
for (var index = n-1; index < arry.length ; index++ ) {
result += base + arry[index] + ",";
}
arry.shift();
result += loop(arry,n);
return result;
};
document.write(loop([1,2,3,4,5,6,7,8,9],5));
//-->
</script>
输出结果: 12345,12346,12347,12348,12349,23456,23457,23458,23459,34567,34568,34569,45678,45679,56789,end
分享到:
相关推荐
本资源是数据结构中利用非递归法实现n皇后问题的一个C++代码,仅供参考,欢迎指正
最近做了一个类似用js实现思维导图的功能,作为思维导图,一定会有树状结构的数据产生,在操作里面的节点时会经常需要查找节点 的父节点及父节点。 对于未知层级的树状数据,用for循环是无法实现的,因为不知道要...
ackman函数的递归和非递归,学习数据结构的素材,非递归是使用堆栈实现的。
自己写的用递归实现的背包问题,欢迎各位高手指正。
递归实现回文判断
递归应用,用于实现汉诺塔问题,源于经典故事! 主要在于递归调用!
C语言递归实现逆序程序 C语言初学者必会
约瑟夫环是一个数学的应用问题: ...网上看到很多实现,唯独Java实现不好找,自己构思了一下思路,用递归的方式实现了一个Java版的约瑟夫问题解决方案,代码简洁,思路清晰,请各位同行参考,欢迎交流。
java 用递归实现字符串反转 java 用递归实现字符串反转
c++递归实现汉诺塔问题。 算法分析与设计 例题的源码实现。跟书上的一样。
主要介绍了Python基于递归算法实现的走迷宫问题,结合迷宫问题简单分析了Python递归算法的定义与使用技巧,需要的朋友可以参考下
n后问题---递归回溯法 n后问题---递归回溯法 n后问题---递归回溯法 n后问题---递归回溯法 n后问题---递归回溯法 n后问题---递归回溯法 n后问题---递归回溯法 n后问题---递归回溯法 n后问题---递归回溯法 n后问题---...
快速选择非递归与递归算法实现
八皇后递归及非递归实现源码; 八皇后递归及非递归实现源码
C++实现八皇后问题 用递归的方法,实现八皇后问题
汉诺塔的非递归实现,c++实现的,很简单,只有50多行,从递归的汉诺塔改编而来,将原来递归时的参数状态保存在栈中,入栈代替递归,出栈代替递归返回。
此程序可以实现对一个整数的逆序,其中用到的算法是递归算法。
c++实现的关于递归实现逆序字符串,有需要的可以下载
回溯法递归实现和非递归实现.解用向量表示,解分量集合有1、2两个元素,一表示放入背包,二表示不放入背包。具有一般性。
阿克曼函数非递归实现,用到了堆栈,对于学习数据结构的人来说很有用