Leetcode: 1. 两数之和 【题解超详细】

这篇具有很好参考价值的文章主要介绍了Leetcode: 1. 两数之和 【题解超详细】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

有人夜里挑灯看花,有人相爱,有人夜里开车看海,有人leetcode第一题都做不出来。

Leetcode: 1. 两数之和 【题解超详细】,【leetcode】题解,leetcode,算法,c语言

希望下面的题解可以帮助你们开始  你们的 leetcode 刷题 的 天降之路 

题目

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target  的那 两个 整数,并返回它们的数组下标。

你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。

你可以按任意顺序返回答案。

难度:简单

题目链接:1. 两数之和

示例 1:

输入:nums = [2,7,11,15], target = 9
输出:[0,1]
解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。

示例 2:

输入:nums = [3,2,4], target = 6
输出:[1,2]

示例 3:

输入:nums = [3,3], target = 6
输出:[0,1]

提示:

  • 2 <= nums.length <= 104
  • -109 <= nums[i] <= 109
  • -109 <= target <= 109
  • 只会存在一个有效答案

题目解析

当你看到这个题的时候 请答题手 不要犹豫,直接进行暴力解题直接来两层for循环

第一层循环 就是从数组的下标 0 开始 (即第一个元素开始 与 第二层的for的循环的第二个元素进行相加 来判断  是否等于目标值 ) 找到 两个数的下标 相加后等于目标值  注意返回数组的大小 ,还有就是返回数组

代码展示

int* twoSum(int* nums, int numsSize, int target, int* returnSize) {
    int* arr = (int*)malloc(sizeof(int) * 2);
    int i = 0;
    int j = 0;
    for (i = 0; i < numsSize; i++)
    {
        for (j = i + 1; j < numsSize; j++)
        {
            if (nums[i] + nums[j] == target)
            {
                arr[0] = i;
                arr[1] = j;
            }
        }
    }
    *returnSize = 2;
    return arr;
}

代码超详解析 

第一代码就是 使用 动态内存malloc 动态分配空间。

int* arr = (int*)malloc(sizeof(int) * 2);

随后就是 两层for循环 进行暴力解题

第一层for循环我们就是 按照数组下标进行来  [0, numsSize-1] 其实就是遍历 numsSize个元素,  i的取值范围就是 [ 0 , numsSize-1 ] 这样就可以进行遍历整个数组的元素

第二层的循环就是 从 i +1 开始,范围是[ i+1 , numsSize-1 ].

这样自就可以让 第一个元素 开始 依次和后面的元素相加进行判断

比如 从 第一个元素开始 : 第一个元素加上第二个元素 判断是否等于目标值(target),如果不等于就让 第一个加上第三个元素 来进行判断 ……直到找到两个合适的。

    for (i = 0; i < numsSize; i++)
    {
        for (j = i + 1; j < numsSize; j++)
        {
            if (nums[i] + nums[j] == target)
            {
                arr[0] = i;
                arr[1] = j;
            }
        }
    }

注意这里要用 上述创建的数组来接收,这样就方便返回数组。

这里的 * returnSize = 2; 一定要记得写上,表示返回数组的大小。 

最后两行的代码一定不要忘记

    *returnSize = 2;
    return arr;

 Leetcode: 1. 两数之和 【题解超详细】,【leetcode】题解,leetcode,算法,c语言文章来源地址https://www.toymoban.com/news/detail-688302.html

到了这里,关于Leetcode: 1. 两数之和 【题解超详细】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • leetcode - 01两数之和

    时间复杂度读 O ( n 2 ) O(n^2) O ( n 2 ) 空间复杂度 O ( 1 ) O(1) O ( 1 )

    2024年02月12日
    浏览(62)
  • Leetcode 1.两数之和

    暴力、哈希 题目描述 给定一个整数数组  nums  和一个整数目标值  target ,请你在该数组中找出  和为目标值  target   的那  两个  整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序

    2024年04月10日
    浏览(38)
  • [LeetCode] 1.两数之和

    给定一个整数数组 nums 和一个目标值 target ,请你在该数组中找出和为目标值 target 的那两个整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。 你可以按任意顺序返回答案。 示例 1: 示例 2: 示例 3: 提示: 2 =

    2024年02月05日
    浏览(54)
  • leetcode--1--两数之和

            给定一个整数数组  nums  和一个整数目标值  target ,请你在该数组中找出  和为目标值  target   的那  两个  整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。

    2024年04月25日
    浏览(35)
  • LeetCode刷题集(五)(LeetCode1.两数之和)

    掌握LeetCode第一题两数之和 LeetCode第一题两数之和 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你

    2023年04月20日
    浏览(47)
  • leetcode_001两数之和

    1. 题目 两数之和 2. 题意 找到数组中和为给定值的两个值的坐标。 3. 题解 3.1 暴力 两重循环,直接列举出来。 3.2 哈希表 查找 hash(val) 是否存在,在表中则取出得到答案;否则将当前位置存入表中 hash(target - val) 。

    2024年02月17日
    浏览(67)
  • leetcode两数、三数、四数之和

    如有错误,感谢不吝赐教、交流 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返

    2023年04月23日
    浏览(73)
  • 【刷题】leetcode 1 . 两数之和

    题目链接 最简单的思想: 遍历 从头开始逐个遍历。 首先选定 加数1 然后寻找 加数2 ,如果两者之和满足条件 target 。返回相应下标即可! 提交! 过啦!!! 但是看看运算时间,居然这么慢!确实咱们的算法时间复杂度是O(n^2),不够快速。 才打败了 69% 的用户。我们不能满足

    2024年01月16日
    浏览(42)
  • leetcode1.两数之和

    个人主页:平行线也会相交 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 平行线也会相交 原创 收录于专栏【LeetCode】 🍓希望我们一起努力、成长,共同进步。 题目链接 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,

    2024年02月11日
    浏览(43)
  • leetcode热题100.两数之和

    给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。 示例 1: 输入:nums =

    2024年01月16日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包