超过时间限制错误

time limit exceeded error

本文关键字:错误 时间 过时      更新时间:2023-10-16

我在leetcode上运行代码,问题是:

给定一个整数数组,找到两个数字,使它们加起来成为一个特定的目标数字。

函数twoSum应该返回两个数字的索引,以便它们加起来达到目标,其中index1必须小于index2。请注意,您返回的答案(index1和index2)不是基于零的。

您可以假设每个输入都有一个解决方案。

输入:数字={2,7,11,15},目标=9输出:index1=1,index2=2

我的回答很简单:

class Solution {
public:
    vector<int> twoSum(vector<int> &numbers, int target) {
        vector<int> result;
        for(int i=0;i<numbers.size()-1;i++){
          for(int j=1+i;j<numbers.size();j++){
             if (numbers[i]+numbers[j]==target)
                 { result.push_back(i+1);
                   result.push_back(j+1);
                   return result;}
          }
        } 
        return result;
    }
};

通过使用双环,它的复杂度应该是(O**2)。然而,我得到了类似"超过运行时间限制"的错误。请问有什么问题?

PS:我知道使用哈希图的方法可以固定它。我只是对错误感到困惑。谢谢

这意味着您的程序运行时间过长,已终止。