首页 > 代码库 > Permutations
Permutations
Given a collection of numbers, return all possible permutations. For example, [1,2,3] have the following permutations: [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1].
回溯,代码:
vector<vector<int> >& permute(vector<int> vecInt){ vector<int> vecWorker; vector<vector<int> > vecPermu; helper(vecPermu, vecWorker, vecInt); return vecPermu;}void helper(vector<vector<int> >& vecPermu, vector<int>& vecWorker, const vector<int>& vecInt){ if (vecWorker.size() == vecInt.size()) { vecPermu.push_back(vecWorker); return; } for (int i = 0; i < vecInt.size(); i++) { if (find(vecWorker.begin(), vecWorker.end(), vecInt[i]) != vecWorker.end()) continue; vecWorker.push_back(vecInt[i]; helper(vecPermu, vecWorker, vecInt); vecWorker.pop_back(vecInt[i]); }}
Permutations
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。