LeetCode 15超出时间复杂度!!
class Solution {
public:
vector<vector<int>> threeSum(vector<int>& nums) {
set<vector<int>> result;
vector<vector<int>> re;
for(int i = 0; i < nums.size(); i++)
{
int target = -nums[i];
unordered_map<int,int> hashtable;
for (int j = 0; j < nums.size(); j++)
{
if (j == i)
continue;
auto it = hashtable.find(target - nums[j]);
if (it != hashtable.end())
{ int Max = max(max(nums[i],it->first),max(it->first,nums[j]));
int Min = min(min(nums[i],it->first),min(it->first,nums[j]));
result.insert({Max,0-Max-Min,Min});
}
hashtable[nums[j]] = j;
};
}
for (auto &a: result)
{
re.push_back(a);
}
return re;
}
};
如何进行优化