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

没有重复项数字的全排列

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

using System;
using System.Collections.Generic;


class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param num int整型一维数组
     * @return int整型二维数组
     */
    public List<List<int>> permute (List<int> num) {
        // write code here
        if (num == null || num.Count == 0)
            return null;
        List<List<int>> lslsN = new List<List<int>>();
        List<int> lsN = null;
        DG(num, ref lslsN, ref lsN);
        return lslsN;
    }

    public static void DG(List<int> num, ref List<List<int>> lslsN,
                          ref List<int> lsN) {
        if (lsN == null)
            lsN = new List<int>();
        if (num.Count == 0) {
            lslsN.Add(lsN);
            return;
        }
        for (int nIndex = 0; nIndex < num.Count; nIndex++) {
            List<int> numCpy = new List<int>();
            numCpy.AddRange(num);
            List<int> lsCpy = new List<int>();
            lsCpy.AddRange(lsN);
            lsCpy.Add(numCpy[nIndex]);
            numCpy.RemoveAt(nIndex);
            DG(numCpy, ref lslsN, ref lsCpy);
        }
    }
}

全部评论

相关推荐

MingoTree:看不出你你的技术栈,想找什么工作,然后课设项目别写上去了,自我评价删了,前后端你想好你要干啥,这种简历投上去秒挂的
点赞 评论 收藏
分享
给🐭🐭个面试机会吧:我boss直聘天天有家教跟我打招呼😓
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务