C++运行时错误

Runtime Error in C++

本文关键字:运行时错误 C++      更新时间:2023-10-16

我在代码块上运行这个程序,它运行良好,但在在线判断中,它为输入相同的输入给出了运行时错误。我无法弄清楚此错误的原因。

    vector<int> twoSum(vector<int> &numbers, int target)
    {
     vector<int> c ;
    sort(numbers.begin(),numbers.end()-1);
    vector<int>::iterator i = numbers.begin();
    vector<int>::iterator j = numbers.end()-1;
    while(i<=j)
    {
        int sum = *i + *j;
        if(sum==target)
                           { c.push_back(i-numbers.begin());
                             c.push_back(j-numbers.begin());
                             //cout<<*i<<" "<<*j<<endl;
                             break;
                           }
        else if(sum<target) i++;
        else j--;
    }
    return c;
}
sort(numbers.begin(),numbers.end()-1);

在空numbers向量上调用它会导致运行时错误。应该是sort(numbers.begin(), numbers.end());