ZWJ962001 2023-07-01 21:41 采纳率: 60%
浏览 19
已结题

关于#c++#的问题:LeetCode 15超出时间复杂度

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;
    }
};

如何进行优化

  • 写回答

3条回答 默认 最新

  • threenewbee 2023-07-01 21:47
    关注
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 7月10日
  • 已采纳回答 7月2日
  • 创建了问题 7月1日