leetcode Permutations II

来源:互联网 发布:乔丹生涯数据总汇 编辑:程序博客网 时间:2024/06/16 21:18
参考博客


http://www.cnblogs.com/tenosdoit/p/3662644.html

代码

class Solution {public:    vector<vector<int> > permuteUnique(vector<int> &num) {        vector<vector<int> > result;        if(num.size()==0)            return result;        sort(num.begin(), num.end());        result.push_back(num);        while(next_permuteUnique(num))            result.push_back(num);               return result;    }        bool next_permuteUnique(vector<int> &num)    {        if(num.size()==1)            return false;                for(int i = num.size()-2, ii = num.size()-1; i >= 0; --i, --ii)        {            if(num[i] < num[ii])            {                int j = num.size()-1;                while(num[j]<=num[i]) --j;                swap(num[i], num[j]);                reverse(num.begin()+ii, num.end());                return true;                            }                    }                 return false;            }       };

0 0
原创粉丝点击