1. 两数之和
/**
* Note: The returned array must be malloced, assume caller calls free().
*/
int* twoSum(int* nums, int numsSize, int target, int* returnSize){
int i,j;
int* Size=(int*)malloc(sizeof(int)*2);
for(i=0;i<numsSize-1;i++){
j=numsSize-1;
while(j>i){
if(target==nums[i]+nums[j]){
Size[0]=i;
Size[1]=j;
*returnSize=2;
return Size;
}
j--;
}
}
*returnSize=0;
return NULL;
}
88. 合并两个有序数组
int cmp(const int*a,const int*b){
return *(int*)a-*(int*)b;
}
void merge(int* nums1, int nums1Size, int m, int* nums2, int nums2Size, int n){
//qsort(nums1,nums1Size,sizeof(int),cmp);
int i=0;
for(int j=0;j<nums1Size&&i<n;j++)
if(nums1[j]==0){
nums1[j]=nums2[i++];
}
qsort(nums1,m+n,sizeof(int),cmp);
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)