Cover image for 面试经典150题 P77 组合

面试经典150题 P77 组合


时间轴

时间轴

2025-11-28

init

回溯

题目:

注意下一个从path.back()+1开始这样避免像(1,2),(2,1)这样的重复

123456789101112131415161718192021222324252627282930
#include <vector>using std::vector;class Solution {private:	vector<vector<int> > res;	void backtrace(vector<int> &path, int n, int k)	{		if (path.size() == k) {			res.push_back(path);			return;		}		int start = path.empty() ? 1 : path.back() + 1;		for (int i = start; i <= n; i++) {			path.push_back(i);			backtrace(path, n, k);			path.pop_back();		}	}public:	vector<vector<int> > combine(int n, int k)	{		res = vector<vector<int> >();		vector<int> path;		backtrace(path, n, k);		return res;	}};
评论加载中…