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;
}
相关推荐
im_AMBER22 分钟前
Leetcode 101 对链表进行插入排序
数据结构·笔记·学习·算法·leetcode·排序算法
踩坑记录1 小时前
leetcode hot100 560.和为 K 的子数组 medium 前缀和 + 哈希表
leetcode
独自破碎E2 小时前
【队列】按之字形顺序打印二叉树
leetcode
AlenTech2 小时前
206. 反转链表 - 力扣(LeetCode)
数据结构·leetcode·链表
踩坑记录2 小时前
leetcode hot100 438. 找到字符串中所有字母异位词 滑动窗口 medium
leetcode·职场和发展
YuTaoShao3 小时前
【LeetCode 每日一题】1458. 两个子序列的最大点积——(解法三)状态压缩
算法·leetcode·职场和发展
橘颂TA3 小时前
【剑斩OFFER】算法的暴力美学——leetCode 946 题:验证栈序列
c++·算法·leetcode·职场和发展·结构与算法
wen__xvn3 小时前
力扣第 484 场周赛
算法·leetcode·职场和发展
YuTaoShao4 小时前
【LeetCode 每日一题】865. 具有所有最深节点的最小子树——(解法一)自顶向下
算法·leetcode·职场和发展
独自破碎E4 小时前
【队列】求二叉树的层序遍历
leetcode