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

本文共 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

你可能感兴趣的文章
2014上半年大片早知道
查看>>
Android 6.0指纹识别App开发案例
查看>>
正文提取算法
查看>>
轻松学PHP
查看>>
Linux中的网络监控命令
查看>>
this的用法
查看>>
windows下安装redis
查看>>
CentOS7 yum 安装git
查看>>
启动日志中频繁出现以下信息
查看>>
httpd – 对Apache的DFOREGROUND感到困惑
查看>>
分布式锁的一点理解
查看>>
idea的maven项目,install下载重复下载本地库中已有的jar包,而且下载后jar包都是lastupdated问题...
查看>>
2019测试指南-web应用程序安全测试(二)指纹Web服务器
查看>>
树莓派3链接wifi
查看>>
js面向对象编程
查看>>
Ruby中类 模块 单例方法 总结
查看>>
jQuery的validate插件
查看>>
5-4 8 管道符 作业控制 shell变量 环境变量配置
查看>>
Enumberable
查看>>
开发者论坛一周精粹(第五十四期) 求购备案服务号1枚!
查看>>