首页 > 编程语言 >代码随想录第二十四天 | 回溯算法

代码随想录第二十四天 | 回溯算法

时间:2022-11-05 01:44:22浏览次数:63  
标签:int List ArrayList 随想录 list 第二十四 回溯 new

今天结束了二叉树的学习, 开始新的一章了

77.组合

class Solution {
    List<List<Integer>> res = new ArrayList<List<Integer>>();
    List<Integer> list = new ArrayList<Integer>();
    public void backTracing(int start, int end, int k){
        if(list.size()==k){
            List<Integer> temp = new ArrayList<Integer>();
            for(int i = 0; i<k; i++){
                // System.out.println(list.get(i));
                temp.add(list.get(i));
            }
            
            
            res.add(list);
            return;
        }
        for(int i = start; i<= end; i++){
            list.add(i);
            backTracing(i + 1, end, k);
            list.remove(list.size() - 1);
        }
    }
    public List<List<Integer>> combine(int n, int k) {
        backTracing(1, n, k);
        return res;
    
    }
    
}

终止条件是size = k,用全局变量来储存符合条件的list

 

今天初步学习了回溯算法

标签:int,List,ArrayList,随想录,list,第二十四,回溯,new
From: https://www.cnblogs.com/catSoda/p/16859555.html

相关文章