我这里有javascript实现时的问题,这里是想用递归的方法找到[1,2]的所有排列,我将probabilitys和probability都用var来声明,但是probabilitys在push操作时并没有达到预期,同时probability却正常工作:
```javascript
/**
* @param {number} batchSize
* @param {number[]} groups
* @return {number}
*/
var currentGroups;
var probabilitys = [];
var probability = [];
function assembly(groups){
let nextgroups;
if(groups.length==0){
// console.log(probability);// [1,2] [2,1]
probabilitys.push(probability);
console.log(probabilitys);// 在本地浏览器打开console显示[[]] , [[],[]] ; 在leetcode测试显示[[1,2]] ,
// [[2,1],[2,1]]
probability.pop();
return;
}
for(let item of groups){
probability.push(item);
nextgroups = groups;
nextgroups = nextgroups.filter(it => it!=item);
assembly(nextgroups)
}
probability.pop();
return;
}
var maxHappyGroups = function(batchSize, groups) {
currentGroups = groups;
probabilitys = []//清空上一次的
assembly(groups)
// console.log(probabilitys);// [[],[]]
};
```