zoukankan      html  css  js  c++  java
  • 19.2.7 [LeetCode 47] Permutations II

    Given a collection of numbers that might contain duplicates, return all possible unique permutations.

    Example:

    Input: [1,1,2]
    Output:
    [
      [1,1,2],
      [1,2,1],
      [2,1,1]
    ]
     1 class Solution {
     2 public:
     3     vector<vector<int>> permuteUnique(vector<int>& nums) {
     4         set<vector<int>>ans;
     5         ans.insert(vector<int>(1, nums[0]));
     6         for (int i = 1; i < nums.size(); i++) {
     7             set<vector<int>>tmp = ans;
     8             ans.clear();
     9             for (auto j = tmp.begin(); j != tmp.end(); j++) {
    10                 vector<int>now = *j;
    11                 for (int k = 0; k <= now.size(); k++) {
    12                     now.insert(now.begin() + k, nums[i]);
    13                     ans.insert(now);
    14                     now.erase(now.begin() + k);
    15                 }
    16             }
    17         }
    18         return vector<vector<int>>(ans.begin(),ans.end());
    19     }
    20 };
    View Code

    单纯只是把上一道改了一下

  • 相关阅读:
    python解析网页
    node.js 爬虫
    c++ split实现
    foldl foldr
    爬虫http header gzip
    命令[10]
    命令[08]
    命令[15]
    命令[13]
    命令[11]
  • 原文地址:https://www.cnblogs.com/yalphait/p/10354993.html
Copyright © 2011-2022 走看看