首页 > 其他 > 详细

leetcode   Two Sum

时间:2016-10-04 07:49:25      阅读:205      评论:0      收藏:0      [点我收藏+]

leetcode

1.Two Sum

Given an array of integers, return indices of the two numbers such that they add up to a specific target.

You may assume that each input would have exactly one solution.

Example:

Given nums = [2, 7, 11, 15], target = 9,
Because nums[0] + nums[1] = 2 + 7 = 9,
return [0, 1].

UPDATE (2016/2/13):
The return format had been changed to zero-based indices. Please read the above updated description carefully.

#include <stdio.h>
#include <stdlib.h>
int* twoS(int* nums,int numsize,int target)
{
    int i=0;
    int j=numsize-1;
    int sum;
    int* res=(int*)malloc(2*sizeof(int));
    if(nums==NULL)
    {
        return NULL;
    }
    while(i<j)
    {
        if(target==nums[i]+nums[j])
        {
            res[0]=nums[i];
            res[1]=nums[j];
            return res;
        }
        else if(target>nums[i]+nums[j])
        {
            i++;
        }
        else
        {
            j--;
        }
    }
    return NULL;
}
int main()
{
    int a[]={2,3,7,11,15};
    //printf("%d\n",sizeof(a));
    int* p;
    p=twoS(a,4,9);
    if(p!=NULL)
    {
        printf("%d....%d",p[0],p[1]);
    }else
    {
        printf("NULLLLL");
    }
    free(p);
    return 0;
}


leetcode   Two Sum

原文:http://zhenzhuangde.blog.51cto.com/10697385/1858609

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!