zoukankan      html  css  js  c++  java
  • LeetCode subsets

    迭代算法:

    import java.util.LinkedList;
    import java.util.List;
    
    class Solution {
    
        public List<List<Integer>> subsets(int[] nums) {
            List<List<Integer>> res = new ArrayList<>();
            res.add(new LinkedList<>());
            for (int i = nums.length; i > 0; i--) {
                int size = res.size();
                for (int k = 0; k < size; k++) {
                    List<Integer> path2 = new LinkedList<>(res.get(k));
                    path2.add(nums[i - 1]);
                    res.add(path2);
                }
            }
            return res;
        }
    }

    递归算法:

    import java.util.LinkedList;
    import java.util.List;
    
    class Solution {
    
        public List<List<Integer>> subsets(int[] nums) {
            List<List<Integer>> routes = new LinkedList<>();
            buildRoutes(routes, new LinkedList<>(), nums.length, nums);
            return routes;
        }
    
        private void buildRoutes(List<List<Integer>> routes, List<Integer> link, int count, int[] nums) {
            if (count > 0) {
                buildRoutes(routes, link, count - 1, nums);
                List<Integer> link2 = new LinkedList<>(link);
                link2.add(nums[count - 1]);
                buildRoutes(routes, link2, count - 1, nums);
            } else {
                routes.add(link);
            }
        }
    }
  • 相关阅读:
    图解排序算法(三)之堆排序
    博客园添加看板娘
    php设计模式
    PHP二维数组排序 array_multisort
    php-jwt-token
    c++实现冒泡排序
    常见的排序 转
    Mac VMware Fusion CentOS7配置静态IP
    vmwar快照和克隆区别
    springboot maven打包插件
  • 原文地址:https://www.cnblogs.com/shuada/p/9780143.html
Copyright © 2011-2022 走看看