这个题,提交能通过的答案无法通过 [3,-2,4],1 这个例子,下面的代码能通过,但会超过所要求的时间,不知道还有没有其他方法

int haveFUshu(int* numbers, int numbersLen){
    for(int i=0;i<numbersLen;i++){
        if(numbers[i]<0){
            return 1;
        }
    }
    return 0;
}

int* twoSum(int* numbers, int numbersLen, int target, int* returnSize ) {
    // write code here
    *returnSize=2;
    int *ret = (int *)malloc(sizeof(int) * 2);
    for(int j=0;j<numbersLen;j++){
        if (numbers[j] > target && haveFUshu(numbers,numbersLen)==0) //如果不这样判断,最简单的[3,-2,4],1,无法通过,但提交会超时,
            continue;                                                //如果想通过题目,去掉&& haveFUshu(numbers,numbersLen)==0即可       
        for(int i=j+1;i<numbersLen;i++){
            if(numbers[j]+numbers[i]==target){
                ret[0]=j+1;
                ret[1]=i+1;
                return ret;
            }
        }
    }
    return ret;
}