题解 | #两数之和#

两数之和

http://www.nowcoder.com/practice/20ef0972485e41019e39543e8e895b7f

这个题,提交能通过的答案无法通过 [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;
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
07-08 14:10
点赞 评论 收藏
分享
Lorn的意义:你这种岗位在中国现在要么牛马天天加班,要么关系户进去好吃好喝,8年时间,真的天翻地覆了,对于资本来说你就说一头体力更好的牛马,哎,退伍没有包分配你真的亏了。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务