zoukankan      html  css  js  c++  java
  • 幂集-回溯

    package huisu;
    
    import java.util.ArrayList;
    import java.util.List;
    
    /**
     * 幂集。编写一种方法,返回某集合的所有子集。集合中不包含重复的元素。 说明:解集不能包含重复的子集。
     */
    /**
     * 回溯法依次追加,1,1 2,1 2 3,移除3,i依旧不小于length,继续移除,变成1,start变成2,1 3,2 ,2 3, 3
     *  */
    public class miji {
        public static void main(String[] args) {
            int []nums={1,2,3};
            List<List<Integer>> list=subsets(nums);
            int x=0;
        }
        public static List<List<Integer>> subsets(int[] nums) {
            if(nums==null||nums.length==0){
                return null;
            }
            List<List<Integer>> list=new ArrayList<>();
            List<Integer> result=new ArrayList<>();
            helper(list,result,nums,0);
            return list;
    
        }
        public static void helper(List<List<Integer>> list,List<Integer> result,int []nums,int start){
            list.add(new ArrayList<>(result));
            for(int i=start;i<nums.length;i++){
                result.add(nums[i]);
                helper(list,result,nums,i+1);
                result.remove(result.size()-1);
    
            }
    
    
        }
    
        
    }
  • 相关阅读:
    程序文档的写法
    EF+Mysql
    R语言基础3
    R语言基础2
    R语言基础1
    搭建私有Docker Registry
    使用镜像仓库托管自己构建的Docker镜像
    构建自己的Tomcat镜像
    官方Tomcat镜像Dockerfile分析及镜像使用
    Docker镜像构建的两种方式
  • 原文地址:https://www.cnblogs.com/jieyi/p/14088013.html
Copyright © 2011-2022 走看看