zoukankan      html  css  js  c++  java
  • 78. Subsets

        /*
         * 78. Subsets 
         * 2015.12.16 by Mingyang
         * 注意这里虽然感觉很像combine,但是这个array可以随意的,可以为任意数的array,所以还是得用array来
         * 并且那个array要sort一下,记住,千万不要忘了加空集
         * 1.长度标准:从空集,到本身长度的集合
         * 2.可选的范围:从start开始到最后一个
         * 3.往前走一步:item加一个,然后start加1表示从下一位加起,然后count也减一个
         * 4.后退一步:不用,因为传进去是string,不会对当前状态进行影响
         * 5.特别的case:count小于等于0
         * 6.关于重复:无
         */
        public static List<List<Integer>> subsets(int[] nums) {
            List<List<Integer>> res = new ArrayList<List<Integer>>();
            ArrayList<Integer> item = new ArrayList<Integer>();
            Arrays.sort(nums);
            for (int len = 1; len <= nums.length; len++)
                dfs3(nums, 0, len, item, res);
            res.add(new ArrayList<Integer>());
            return res;
        }
        public static void dfs3(int[] S, int start, int len, List<Integer> item,List<List<Integer>> res) {
            if (item.size() == len) {
                res.add(new ArrayList<Integer>(item));
                return;
            }
            for (int i = start; i < S.length; i++) {
                item.add(S[i]);
                dfs3(S, i + 1, len, item, res);
                item.remove(item.size() - 1);
            }
        }
  • 相关阅读:
    CUDA[2] Hello,World
    mysql操作
    virsh 连接虚拟机 (vnc 或 控制台)
    ssh访问流程
    使用ceph-deploy进行ceph安装
    openstack 的horizon的结构
    django 后台格式化数据库查询出的日期
    web 应用的部署
    工具
    python性能优化
  • 原文地址:https://www.cnblogs.com/zmyvszk/p/5488106.html
Copyright © 2011-2022 走看看