LeetCode77:Combinations[通俗易懂]

LeetCode77:Combinations

大家好,又见面了,我是全栈君。

Given two integers n and k, return all possible combinations of k numbers out of 1 … n.

For example,
If n = 4 and k = 2, a solution is:

[
[2,4],
[3,4],
[2,3],
[1,2],
[1,3],
[1,4],
]
Hide Tags Backtracking

给定一个数n。求1到n之间的全部的k个数的组合。
这个题目能够在纸上画下草图,明显能够用递归求解。递归的终止条件是k=0,而且因为须要将组合保存到集合vector中,还须要使用回溯法来保存数据。
runtime:8ms

class Solution {
public:
    vector<vector<int>> combine(int n, int k) {
        vector<vector<int>> result;
        vector<int> vec;
        helper(1,n,k,vec,result);
        return result;
    }

    void helper(int first,int last,int k,vector<int> & vec,vector<vector<int>> & result)
    {
        if(k==0)
        {
            result.push_back(vec);
            return ;
        }

        for(int i=first;i<=last-k+1;i++)
        {
            vec.push_back(i);
            helper(i+1,last,k-1,vec,result);
            vec.pop_back();
        }
    }

};

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/116219.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ac测评题库_队长小翼剧场版

    ac测评题库_队长小翼剧场版给定一个 N×M 的棋盘,有一些格子禁止放棋子。问棋盘上最多能放多少个不能互相攻击的骑士(国际象棋的“骑士”,类似于中国象棋的“马”,按照“日”字攻击,但没有中国象棋“别马腿”的规则)。输入格式第一行包含三个整数 N,M,T,其中 T 表示禁止放置的格子的数量。接下来 T 行每行包含两个整数 x 和 y,表示位于第 x 行第 y 列的格子禁止放置,行列数从 1 开始。输出格式输出一个整数表示结果。数据范围1≤N,M≤100输入样例:2 3 0输出样例:4#include<b

    2022年8月9日
    6
  • 数据库查询优化——Mysql索引

    数据库查询优化——Mysql索引

    2020年11月12日
    297
  • java中 数组声明,java数组声明格式

    java中 数组声明,java数组声明格式java声明动态数组,java对象数组详解,java中声明数组,java数组声明格式Java中数组的声明一维数组的声明:在Java中,数组是独立的对象,有自身的方法,不是变量的集合。数组的声明:类型标识符数组名[]或者类型标识符[]……一维数组一维数组可以存放上千万个数据,并且这些数据的类型是完全相同的,使用java数组,必须经过两个步骤,声明数组和分…

    2022年6月2日
    38
  • JUC多线程:创建线程的四种方式

    JUC多线程:创建线程的四种方式

    2021年10月5日
    42
  • latex更改字体大小_修改字体字号的方法

    latex更改字体大小_修改字体字号的方法Latex中的字体一共有这些种:\tiny\scriptsize\footnotesize\small\normalsize\large\Large\LARGE\huge\Huge一般来说默认的是\normalsize.我们可以在开始重新定义默认字体大小:\documnetclass[12pt]{article}修改12pt的值即可,Latex提供了三种大小:10/……

    2022年10月11日
    0
  • 如何理解线程

    如何理解线程

    2021年10月3日
    32

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号