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;
}
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。