男人和女人晚上做污污的視頻大網(wǎng)站ip子域名大全
終于把二叉樹(shù)做完了!開(kāi)始新的篇章,回溯!
回溯算法理論基礎(chǔ)
回溯算法題目分類:
1.組合
2.分割
3.子集
4.排列
5.棋盤(pán)問(wèn)題
什么是回溯?
回溯叫做回溯搜索法,是一種搜索方式?;厮菔沁f歸的副產(chǎn)品,有遞歸就會(huì)有回溯。
LeetCode 77.組合
題目鏈接:
77. 組合 - 力扣(LeetCode)
解題思路:
void backtracking(參數(shù)){if (終止條件){存放結(jié)果;return;}
}for(選擇:本層集合中元素個(gè)數(shù)){處理對(duì)應(yīng)的節(jié)點(diǎn);backtracking(參數(shù));//遞歸回溯,撤銷處理的結(jié)果;
}
代碼:
class Solution {
public:vector<vector<int>>result;vector<int>path;void backtracking(int n,int k, int Index){if(path.size()==k) {result.push_back(path);return;}for(int i=Index;i<=n;i++){path.push_back(i);backtracking(n,k,i+1); path.pop_back();}}vector<vector<int>> combine(int n, int k) {backtracking(n,k,1);return result;}
};