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;
}
相关推荐
程序员Xu3 分钟前
【LeetCode热题100道笔记】二叉树的直径
笔记·算法·leetcode
阿维的博客日记1 小时前
LeetCode 209 - 长度最小的子数组算法详解
数据结构·算法·leetcode
珍珠是蚌的眼泪2 小时前
LeetCode_数学
leetcode·计数质数·3的幂·七进制数·十六进制数·三个数的最大乘积
Lris-KK9 小时前
【Leetcode】高频SQL基础题--1731.每位经理的下属员工数量
sql·leetcode
野犬寒鸦9 小时前
力扣hot100:搜索二维矩阵 II(常见误区与高效解法详解)(240)
java·数据结构·算法·leetcode·面试
菜鸟得菜10 小时前
leecode kadane算法 解决数组中子数组的最大和,以及环形数组连续子数组的最大和问题
数据结构·算法·leetcode
楼田莉子10 小时前
C++算法专题学习——分治
数据结构·c++·学习·算法·leetcode·排序算法
一支鱼11 小时前
leetcode常用解题方案总结
前端·算法·leetcode
吃着火锅x唱着歌11 小时前
LeetCode 1537.最大得分
算法·leetcode·职场和发展
j_xxx404_14 小时前
数据结构:栈和队列力扣算法题
c语言·数据结构·算法·leetcode·链表