提示:力扣第一题
文章目录
两数之和
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。
你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。
你可以按任意顺序返回答案。
提示:谁懂啊家人们,第一题就翻车了,没有malloc
1、法一:暴力2重循环O(N2)
第一次报错:没有malloc,不知道numSize是干啥的
看看人家【大佬】,区别真大啊,放弃转码吗
/**
* Note: The returned array must be malloced, assume caller calls free().
*/
int* twoSum(int* nums, int numsSize, int target, int* returnSize) {
int* ret = malloc(sizeof(int) * 2); //按提示要malloc,但不需要free()
for(int i = 0; i < numsSize - 1; i++){
for (int j = i+1; j < numsSize; j++){
if ((target - nums[i]) == nums[j]){
ret[0] = i;
ret[1] = j;
*returnSize = 2; //要返回数组长度
return ret;
}
}
}
return NULL;
}