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

没有重复项数字的所有排列

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

import java.util.*;

public class Solution { ArrayList path = new ArrayList<>(); ArrayList<ArrayList> res = new ArrayList<>(); public ArrayList<ArrayList> permute(int[] num) { int[] used = new int[num.length]; Arrays.sort(num); back(num,used); return res; }

public void back(int[] nums,int[] used){
    if(path.size() == nums.length){
        res.add(new ArrayList<>(path));
    }
    for(int i = 0;i < nums.length;i++){
        if(i > 0 && nums[i] == nums[i-1] && used[i] == 0){
            continue;
        }
        if(used[i]==0){ 
            path.add(nums[i]);
            used[i] = 1;
            back(nums,used);
            used[i] = 0;
            path.remove(path.size() - 1);
        }
    }
}
   

}

我居南半坡 文章被收录于专栏

多刷题,积蓄力量,欢迎讨论

全部评论

相关推荐

头像
不愿透露姓名的神秘牛友
04-08 00:50
点赞 评论 收藏
转发
点赞 收藏 评论
分享
牛客网
牛客企业服务