1.两数之和-力扣(LeetCode)

题目:

解题思路:

在解决这个问题之前,首先要明确两个点:

1、参数returnSize的含义是返回答案的大小(数目),由于这里的需求是寻找数组中符合条件的两个数,那么当找到这两个数时,将*returnSize的值直接赋为2。

2、不要忽略注释中的注意点,返回的是两个数组成的数组,那么就需要在本函数中为该数组动态开辟空间,使得返回内容可以在该函数外使用。

题目中要求不能使用两次相同的元素,对这句话的理解是,返回的两个符合条件的数,其下标应该是不同的。那么就要在嵌套循环进行遍历时,避免内外循环遍历到相同下标的元素。

代码:

cpp 复制代码
int *twoSum(int *nums, int numsSize, int target, int *returnSize)
{
    int i,j;
    int *returnNum =  (int *)malloc(sizeof(int)*2);
    for(i = 0; i < numsSize; i++)
    {
        for(j = i+1; j < numsSize; j++)
        {
            if(nums[i] + nums[j] == target)
            {
                returnNum[0] = i;
                returnNum[1] = j;
                *returnSize = 2;
            }
        }
    }
    return returnNum;
}
相关推荐
DanyHope17 小时前
LeetCode 两数之和:从 O (n²) 到 O (n),空间换时间的经典实践
前端·javascript·算法·leetcode·职场和发展
DanyHope18 小时前
LeetCode 283. 移动零:双指针双解法(原地交换 + 覆盖补零)全解析
数据结构·算法·leetcode
LYFlied18 小时前
【每日算法】LeetCode 114. 二叉树展开为链表:从树结构到线性结构的优雅转换
数据结构·算法·leetcode·链表·面试·职场和发展
hh随便起个名1 天前
力扣二叉树的三种遍历
javascript·数据结构·算法·leetcode
LYFlied1 天前
【每日算法】LeetCode 17. 电话号码的字母组合
前端·算法·leetcode·面试·职场和发展
一起养小猫1 天前
LeetCode100天Day1-字符串匹配与Z字形变换
java·leetcode
yaoh.wang1 天前
力扣(LeetCode) 1: 两数之和 - 解法思路
python·程序人生·算法·leetcode·面试·跳槽·哈希算法
Code Slacker1 天前
LeetCode Hot100 —— 滑动窗口(面试纯背版)(四)
数据结构·c++·算法·leetcode
yaoh.wang1 天前
力扣(LeetCode) 27: 移除元素 - 解法思路
python·程序人生·算法·leetcode·面试·职场和发展·双指针
F_D_Z1 天前
最长连续序列(Longest Consecutive Sequence)
数据结构·算法·leetcode