LeetCode 77. 组合(回溯)
生活随笔
收集整理的這篇文章主要介紹了
LeetCode 77. 组合(回溯)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1. 題目
給定兩個(gè)整數(shù) n 和 k,返回 1 … n 中所有可能的 k 個(gè)數(shù)的組合。
示例:輸入: n = 4, k = 2 輸出: [[2,4],[3,4],[2,3],[1,2],[1,3],[1,4], ]來源:力扣(LeetCode) 鏈接:https://leetcode-cn.com/problems/combinations
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。
2. 解題
簡(jiǎn)單的回溯算法
class Solution { public:vector<vector<int>> combine(int n, int k) {vector<vector<int>> ans;vector<int> subset;bt(1, n, 0, k, subset, ans);return ans;}void bt(int i, int n, int count, int k, vector<int> &subset, vector<vector<int>>& ans){if(count == k){ans.push_back(subset);return;}if(n-i+1 < k-count)return;//剩余的個(gè)數(shù)不夠了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博客地址 https://michael.blog.csdn.net/
長(zhǎng)按或掃碼關(guān)注我的公眾號(hào)(Michael阿明),一起加油、一起學(xué)習(xí)進(jìn)步!
總結(jié)
以上是生活随笔為你收集整理的LeetCode 77. 组合(回溯)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 程序员面试金典 - 面试题 05.08.
- 下一篇: LeetCode 558. 四叉树交集(