LeetCode 77. 组合(回溯)
发布日期:2021-07-01 03:15:46 浏览次数:2 分类:技术文章

本文共 877 字,大约阅读时间需要 2 分钟。

1. 题目

给定两个整数 n 和 k,返回 1 … n 中所有可能的 k 个数的组合。

示例:输入: n = 4, k = 2输出:[  [2,4],  [3,4],  [2,3],  [1,2],  [1,3],  [1,4],]

来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/combinations

著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

简单的回溯算法

class Solution {
public: vector
> combine(int n, int k) {
vector
> ans; vector
subset; bt(1, n, 0, k, subset, ans); return ans; } void bt(int i, int n, int count, int k, vector
&subset, vector
>& ans) { if(count == k) { ans.push_back(subset); return; } if(n-i+1 < k-count) return;//剩余的个数不够了 for(int j = i; j <= n; ++j) { subset.push_back(j); bt(j+1,n,count+1,k,subset, ans); subset.pop_back(); } }};

12 ms 9.2 MB


我的CSDN

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!

Michael阿明

转载地址:https://michael.blog.csdn.net/article/details/101383914 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:LeetCode 377. 组合总和 Ⅳ(DP)
下一篇:LeetCode 40. 组合总和 II(排列组合 回溯)

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月20日 19时06分24秒