js 回溯法生成数组的全部组合
var findSubstring = function() {
var rlt = [], path = [];
allSort([1,2,3], rlt, path, 0, 3);
//console.log(rlt);
};
var allSort = function(arr, rlt, path, k, l) {
if (k == l) {
rlt.push(path);
return;
}
for (var i = 0; i < l ; i++) {
path.push(arr[i]);
allSort(arr, rlt, path, k+1, l);
path.pop();
}
}
findSubstring();
在allsort函数中单步输出的结果是正确的,但是在findSubstring输出函数的结果为27个长度为0的空数组,求诸位大神给解答一下,是什么原因造成的。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
数组是引用,所以每一个rlt push的都是同一个对象。用arr.slice解决