/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param nums int整型一维数组 
 * @return int整型二维数组
 */
function subsets( nums ) {
    // write code here
    let res=[];
    let path=[];
    let used=new Array(nums.length).fill(0);
    nums.sort((a,b)=>a-b);
    function A(index){
        res.push([...path]);
        let arr=[];
        for(let i=index;i<nums.length;i++){
            if(arr.indexOf(nums[i])==-1){
                arr.push(nums[i])
                path.push(nums[i])
                used[i]=1
                A(i+1);
                path.pop();
            }else{
                continue;
            }
        }
    };
    A(0);
    return res;
}
module.exports = {
    subsets : subsets
};