Я работаю над вопросом Leetcode и устал делать набор с вектором в качестве ключа.Тем не менее, он не может убедиться, что в моих результатах нет дубликатов.Я также пытался использовать карту, но не смог даже напечатать ее значения, так как, как мне кажется, я понятия не имею, как мы можем напечатать значения карты, содержащие в качестве ключа вектор int.Пожалуйста, дайте мне знать, что я делаю неправильно в своем коде и почему он не работает.Кроме того, как печатать целые векторные ключи, используя карты.
Мой код выглядит следующим образом:
class Solution
{
public:
vector<vector<int>> permuteUnique(vector<int>& nums)
{
vector<vector<int>>result;
permutations(nums,0,result);
return result;
}
void permutations(vector<int>&nums, int l, vector<vector<int>>&result)
{
set<vector<int>>s;
if(l>=nums.size())
{
if(s.find(nums)==s.end())
{
s.insert(nums);
result.push_back(nums);
return;
}
else if(s.find(nums)!=s.end())
return;
}
for(int i=l;i<nums.size();i++)
{
swap(nums[l],nums[i]);
permutations(nums,l+1,result);
swap(nums[l],nums[i]);
}
}
};