您的位置:首页 > 职场人生

[LeetCode] Permutations

2013-01-27 23:34 369 查看
class Solution {
public:
vector<vector<int> > ret;
vector<int> sln;

void DFS(vector<int> &num, vector<bool> &used, int n) {
if (n == num.size()) {
ret.push_back(sln);
return;
}

for (int i = 0; i < num.size(); i++) {
if (used[i]) continue;

used[i] = true;

sln.push_back(num[i]);

DFS(num, used, n + 1);

sln.pop_back();

used[i] = false;
}
}

vector<vector<int> > permute(vector<int> &num) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
vector<bool> used(num.size());

ret.clear();
sln.clear();

DFS(num, used, 0);

return ret;
}
};


Small Case: 8ms

Large Case: 80ms
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息