题解 | #集合的所有子集(一)#

集合的所有子集(一)

http://www.nowcoder.com/practice/c333d551eb6243e0b4d92e37a06fbfc9


public class Solution {
    public ArrayList<ArrayList<Integer>> subsets(int[] S) {
       if(S == null){
           return null;
       }
//         int n = S.length;
        ArrayList<ArrayList<Integer>> result = new ArrayList<>();
//         result.add(new ArrayList<Integer>());
//         for(int i = 0;i < n;i++){
//             int size = result.size();
//             for(int j = 0;j< size;j ++){
//                 ArrayList<Integer> path  = new ArrayList<Integer>();
//                 path.addAll(result.get(j));
//                 path.add(S[i]);
//                 result.add(path);
//             }
//         }
//         return result;
        for(int i = 0;i <= S.length ; i++){
            back(i,0, new ArrayList<Integer>(), result, S);
        }
        return result;
    }
    
    private void back(int k , int start, ArrayList<Integer> list, ArrayList<ArrayList<Integer>> result, int[] S){
        if(k < 0){
            return;
        }else if(k == 0){
            result.add(new ArrayList<>(list));
        }else{
            for(int i = start; i < S.length;i++){
                list.add(S[i]);
                back(k - 1, i + 1, list ,result, S);
                list.remove(list.size() - 1);
            }
        }
        
        
        
    }
}
全部评论

相关推荐

练习生懒羊羊:开飞机把这个公司创飞吧
点赞 评论 收藏
分享
06-22 10:41
赣东学院 Java
程序员小白条:?周六晚上投,这是什么操作,专门找996起步的吗
点赞 评论 收藏
分享
陆续:不可思议 竟然没那就话 那就我来吧 :你是我在牛客见到的最美的女孩
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务