博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(待解决,效率低下)47. Permutations II C++回溯法
阅读量:7063 次
发布时间:2019-06-28

本文共 896 字,大约阅读时间需要 2 分钟。

思路是在相似题Permutations的基础上,将结果放到set中,利用set容器不会出现重复元素的特性,得到所需结果

但是利用代码中的/* */部分通过迭代器遍历set将set中的元素放在一个新的vector中时,会出现memory limit exceeded错误(原因??)

上网查找后发现可以直接通过return vector<vector<int>> (mySet.begin(),mySet.end())得到结果,并且代码通过。

class Solution {public:    void backTrack(vector
nums, set
>& mySet, vector
res, int k, int m[]){ if(k == nums.size()) { mySet.insert(res); } else { for(int i=0;i
> permuteUnique(vector
& nums) { vector
> ans; vector
res; set
> mySet; int m[nums.size()] = { 0,};//true为未用过 backTrack(nums,mySet,res,0,m); /*set
>::iterator itr = mySet.begin(); while(itr != mySet.end()) { ans.push_back(*itr); for(int i=0; i<(*itr).size();i++) { cout << (*itr).at(i) << ' '; } cout << endl; itr++; }*/ return vector
> (mySet.begin(),mySet.end()); }};

 

转载于:https://www.cnblogs.com/tornado549/p/9990678.html

你可能感兴趣的文章
LiteORM学习五:实体类验证
查看>>
理解CDN
查看>>
数据库操作类
查看>>
字典序全排列算法研究
查看>>
面试学到的css布局,细节影响了我的面试成绩
查看>>
Ubuntu16.04 安装lamp环境
查看>>
apache伪静态规则及常见规则用法实例
查看>>
去哪儿网电话是多少
查看>>
13、 使用openpyxl存储周杰伦的歌曲信息
查看>>
[python] A*算法基于栅格地图的全局路径规划
查看>>
苹果新的编程语言 Swift 语言进阶(二)--基本类型
查看>>
git分支管理
查看>>
VS2017 ASP.NET C#编译ScriptManager bug
查看>>
模数混合电路(模拟、数字电源和地)
查看>>
自然语言处理入门
查看>>
Jquery中children、find区别
查看>>
java窗体
查看>>
zipkin-client:brave核心代码思路整理
查看>>
iOS学习31之UITableVIewCell自定义
查看>>
mysql 分区
查看>>