java刷题--77 组合

Posted Anrys

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java刷题--77 组合相关的知识,希望对你有一定的参考价值。

java刷题--77 组合

题目

在这里插入图片描述

代码

public class Solution {
    List<List<Integer>> ans = new ArrayList<>();
    public List<List<Integer>> combine(int n, int k) {
        dfs(k, 1, n-k+1,new ArrayList<Integer>()); //k用来监视是否达到长度要求,从1开始,最大开始是n-k+1;
        return ans;
    }

    private void dfs( int len, int start, int max_start,List list) {
        if (len == 0) { 
            ans.add(new ArrayList<Integer>(list));
            return; 
        }
        for (int i=start; i<= max_start; i++) {
            list.add(i);
            dfs(len-1, i+1, max_start+1,list);
            list.remove(list.size()-1);
        }
    }
}

结果

在这里插入图片描述

以上是关于java刷题--77 组合的主要内容,如果未能解决你的问题,请参考以下文章

java刷题--39组合总和

回溯算法刷题合集

java刷题--1014最佳观光组合

Java工程师面试题,二级java刷题软件

刷题77——跳跃游戏

LeetCode刷题模版:71 - 80