题解 | #没有重复项数字的全排列#

没有重复项数字的全排列

https://www.nowcoder.com/practice/4bcf3081067a4d028f95acee3ddcd2b1

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param num int整型一维数组 
 * @return int整型二维数组
 */
function permute( num ) {
    // write code here
    if(!num){return }
    if(num.length == 1){return [num] }

    let res = []
    let tem = undefined
    for(let i=0;i<num.length;i++){
        // tem = [num[i]]
        else2Per = num.slice(0,i).concat(num.slice(i+1)) 
        per = permute(else2Per) //我想要一个二维数组,这样我就可以把头给每一个拼上去
        for(let e2 of per){
            tem = [num[i],...e2]
            res.push(tem)
        }
    }
    return res


    
}
module.exports = {
    permute : permute
};

全部评论

相关推荐

1 收藏 评论
分享
牛客网
牛客企业服务