全排列算法的实现
题目如下:
a)求一个全排列函数:如p([1,2,3]) ,输出: [123],[132],[213],[231],[321],[323]。
b)求一个组合函数: 如p([1,2,3]) ,输出:[1],[2],[3],[1,2],[2,3],[1,3],[1,2,3]。
排列的解法
组合想了好久没想出思路,求指导啊!!
var matrix=[[1,2,3,4],[0,2,3,4],[0,0,3,4],[0,0,0,4]]; //var matrix=[[1,2,3],[0,2,3],[0,0,3]];function calc(arr, index){ for(var i=index; i<matrix.length; i++){ var temp=[]; for(var j=0; j!=arr.length; j++){ temp.push(arr[j]); } temp.push(matrix[i][i]); console.log(temp); calc(temp,i+1); }}calc([], 0);