
C语言:两数之和
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。
你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/two-sum
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
大佬的代码:
/**
* Note: The returned array must be malloced, assume caller calls free().
*/
int* twoSum(int* nums, int numsSize, int target, int* returnSize){
int *result = (int *)malloc(sizeof(int) * 2);
int a=0;
for (int i = 0; i <numsSize-1; i++)
{
for(int j = i + 1; j < numsSize; j++)
{
if (nums[i] + nums[j] == target)
{
result[0] = i;
result[1] = j;
*returnSize = 2;
return result;
}
}
}
return result;
}
我瞎改的代码
/**
* Note: The returned array must be malloced, assume caller calls free().
*/
int* twoSum(int* nums, int numsSize, int target, int* returnSize){
int *result = (int *)malloc(sizeof(int) * 2);
int a=0;
for (int i = 0; i <numsSize-1; i++)
{
a = target - nums[i];
{
for(int j = i + 1; j < numsSize; j++)
{
if (nums[j] == a)
{
result[0] = i;
result[1] = j;
*returnSize = 2;
return result;
}
}
}
}
return result;
}
为个人的学习笔记,如有错误欢迎指正
侵删,谢谢!
博客内容讲述了如何使用C语言解决LeetCode上的两数之和问题,给出了原代码和作者修改后的代码示例,强调了查找数组中和为目标值的两个整数并返回它们的下标的逻辑。代码中包含了两层循环来遍历数组并检查元素组合是否满足条件,找到答案后立即返回结果。
861

被折叠的 条评论
为什么被折叠?



