注册贸易公司流程及费用,超级优化基因液,制作app的免费软件,五莲网站建设47. 全排列 II 给定一个可包含重复数字的序列 nums #xff0c;按任意顺序 返回所有不重复的全排列。 示例 1#xff1a; 输入#xff1a;nums [1,1,2]
输出#xff1a;
[[1,1,2],[1,2,1],[2,1,1]]示例 2#xff1a; 输入#xff1a;nums [1,2,3]
输出#xff1a;[[1,…47. 全排列 II 给定一个可包含重复数字的序列 nums 按任意顺序 返回所有不重复的全排列。 示例 1 输入nums [1,1,2]
输出
[[1,1,2],[1,2,1],[2,1,1]]示例 2 输入nums [1,2,3]
输出[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]提示 1 nums.length 8-10 nums[i] 10 使用二维数组保存所有的全排列次序并使用set容器来去重
class Solution {
public:setvectorint res;vectorvectorint _res;bool book[9] {false};vectorint path;vectorvectorint permuteUnique(vectorint nums) {dfs(nums);for(auto e : res)_res.push_back(e);return _res;}void dfs(vectorint nums){if(path.size() nums.size()){res.insert(path);return;}for(int i 0; i nums.size(); i){if(!book[i]){book[i] true;path.push_back(nums[i]);dfs(nums);book[i] false;path.pop_back();}}}
};