leetcode第一题有一个测试样例过不去,自己的IDE上可以通过

leetcode题目,有一个测试样例过不去,自己的IDE上可以通过,但是leetcode上报错heap-buffer-overflow,查了一下说是数组越界,但是检查了以下代码发现也没有地方越界了啊。

class Solution {
public:
    vector<int> twoSum(vector<int>& nums, int target) {
        vector<int> temp = nums;
        sort(nums.begin(), nums.end());
        for(int i=0;nums[i]<=target/2;i++){
            vector<int>::iterator pos = lower_bound(nums.begin()+i, nums.end(), target-nums[i]);
            if(*pos == target-nums[i]){
                int first=-1,second=-1 ;
                for(int j=0;j<nums.size();j++){
                    if((temp[j]==nums[i]||temp[j]==*pos)){
                        if(first<0)
                            first = j;
                        else
                            second = j;
                    }
                    else
                        continue;
                    if(second>=0)
                        return {first, second};
                }
            }
        }
        return {};
    }
};

过不去的测试用例为
[1,6142,8192,10239]
18431

leetcode上经常会出现奇怪的问题,我也有好几次在线单次运行答案正确,但提交的时候就可单次运行的答案不一样了,还是栽在同样的案例