【力扣(LeetCode)】【C/C++】【1.两数之和】

力扣(Leetcode)第2题:两数相加(C语言版本) 通常,我们从左到右书写数字,例如数字123,最左边的是最高位(百位),然后是十位,最后是个位。但是在这个特殊的表示法中,链表的第一个节点将代表个位数,第二个节点代表十位数,以此类推,最左边的节点(链表的头节点)代表最低位,而最右边的节点(链表的尾节点)代表最高位。在这种表示法中,每个节点只存储一个数字(0-9),并且每个链表的第一个节点(最近个位)实际上是整个数字的最低有效位,而最后一个节点(最远离个位)是最高位。由于每个节点只存储一位数字,相加的结果可能需要进位到下一个更高的位。它们每位数字都是按照。 阅读详情

学习时间:

        2023年1月18日


题目描述:


 题解分享:

// 作     者 : 繁 华 倾 夏
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>     // 调用malloc函数

// 力扣(LeetCode):1.两数之和

// nums:数组 numsSize:数组长度 target:目标值 returnSize:新数组长度
int* twoSum(int* nums, int numsSize, int target, int* returnSize) {
    int n1 = 0, n2 = 0;
    while (n1 < numsSize) {                              // 采用双重遍历数组
        n2 = n1 + 1;                                     // n2永远比n1多1
        while (n2 < numsSize) {
            if ((nums[n1] + nums[n2]) == target) {       // 判断两数和是否与目标值相等
                int* re = (int*)malloc(sizeof(int) * 2); // 申请动态空间动态数
                re[0] = n1;
                re[1] = n2;
                *returnSize = 2;                         // 必须要返回新数组长度,因为测试用例传的是整型
                return re;                               // 笔者刚开始以为是数组,所以测试用例一直不通过
            }
            n2++;
        }
        n1++;
    }
    *returnSize = 0;                                     // 如果双重循环没找到,则返回数组长度为0 
    return NULL;                                         // 内容为空
}

// 测试用例
// 输入 nums = [2, 7, 11, 15], target = 9
// 输出 [0, 1]
int main() {
    int nums[] = {2,7,11,15};
    int target = 9;
    int returnSize;
    int numsSize = sizeof(nums) / sizeof(nums[0]);       // 统计数组长度
    int* re = twoSum(nums, numsSize, target, &returnSize);
    
    for (int i = 0; i < returnSize; i++) {
        printf("%d ", re[i]);
    }

    return 0;
}

【繁华倾夏】【每日力扣题解分享】【Day4】


【力扣Leetcode解题系列之0002. 两数之和Add Two Numbers:链表与数学运算的完美结合】 力扣2题"Add Two Numbers"是一道经典的链表加法问题,要求将两个逆序存储数字的链表相加并返回结果链表。解题关键在于模拟十进制加法过程,处理不同长度链表和进位问题。主要有两种解法:循环法和递归法。循环法通过遍历链表逐位相加,处理进位;递归法则通过递归调用处理后续节点和进位。两种方法的时间复杂度均为O(max(M,N)),空间复杂度为O(1)。题目考察了链表操作和数学运算的结合能力,是算法练习的典型范例。 阅读详情

相关推荐

c++ leetcode 力扣 1. 两数之和

这是力扣的第一题 两数之和 题目是这么描述的: 两数之和 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你可以按任意顺序返回答案。 示例 1: 输入:nums = [2,7,11,15], target = 9 输出:[0,1] 解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。 示例 2:

sam1126H的博客 541

【力扣刷题C++】两数之和

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

记录值得记录的东西 441

ArcGIS中的Python入门知识点整理

关于Arcpy大家应该都比较熟悉,Python用的好,数据处理快又好!在ArcGIS中ArcPy是一个以成功的arcgisscripting模块为基础并继承了arcgisscripting功能进而构建而成的站点包。目的是为以实用高效的方式通过Python执行地理数据分析、数据转换、数据管理和地图自动化创建基础。ArcPy提供了丰富纯正的Python体验,具有代码自动完成功能。今天我们就看看关于Arcpy相关处理的使用,通过一些简单代码与大家一起认识Arcpy。

xjt921122的博客 1770

力扣题库--1.两数之和 c++解法

用map将数组元素(key)和下标(value)保存起来,遍历数组,查找与数组值相加为目标值的数是否在map中,若找到了,判断该值是否为数组值本身,如果不是本身,返回结果。若数组遍历完毕,返回空。

qq_49855896的博客 789

别再用UE5默认材质:用Substance Painter一招提升写实感

今天,我就把这套从模型准备到引擎最终呈现的全流程技巧毫无保留地分享出来,这套方法不仅能让你的作品细节炸裂,更能让你理解次世代PBR(Physically Based Rendering)材质的底层逻辑。

海外旅居设计师,15年设计经验。 1324

【笔记6】SP3485自动收发电路设计分析

则TXD路为1,MOS管导通,2/3引脚为0,芯片实际上事与愿违的进入了接收模式。但是,由于我们采用单根双绞线与上位机通信,在数据发出去前数据线上没有任何信号传输,所以AB处于高阻态,进而受到R1下拉与R2上拉的影响,差分信号为1,所以输出1;此外,RXD内路也被上拉,485总线B端上拉,A端下拉。此时TXD由于没有数据传输,所以一直处于1的状态,因而MOS管导通,2/3引脚为0,芯片处于正常接收状态。总而言之就是,RE#与 DE只能有一个是1,1代表微控制器向外发送,0代表微控制器接收。

Haytham233的博客 3136

【每日一题】力扣两数之和(C++两种解法)

用push_back向vector里输入数值进行测试 vector<int> twoSum(vector<int> nums, int target) //因为C++规定不能返回数组值,所以要用vector对数组进行返回 { int n = nums.size(); for (int i = 0; i < n; ++i) { for (int j = i + 1; j < n; ++j) { if (nums[i] + nums[j] == target

qq_40382325的博客 2458

告别ZotFile!Zotero 7+百度网盘文献同步全攻略(含软链接避坑指南)

本文针对Zotero 7用户,提供了告别ZotFile插件后,利用百度网盘实现文献附件同步的完整解决方案。详细讲解了如何通过设置Zotero链接目录与创建软链接,将附件库迁移至云盘,并附有详细的避坑指南,确保数据安全与多设备同步的稳定性。

mmm90的博客 586

两数之和 C++实现(力扣题目1)

当你查找时,也是根据这个哈希算法来的,将你要查找的数据进行计算,得出一个地址,这个地址会映射到集合当中的位置,这样就能直接去这个位置找了,而不需要像数组那样,一个一个去遍历比对查找。暴力法的流程思想就是上面这样的,两两相加看它们的和是否等于target,但是我们可以仔细看一看,这样其实是有重复运算的,比如【第一轮的①和第二轮的①】运算结果是一样的,两者对最后我们要求解的结果的影响是一样的,无非返回结果是[0,1],[1,0]顺序不同而已。由于存取过程采用的是同一个y函数,因此结果当然也是相同的。

yangSHU21的博客 2773

打造会自主学习的 AI 助手:OpenClaw 记忆系统完全指南

这不是科幻,这是我正在使用的系统。我的 AI 助手「小琳」已经运行了一段时间,积累了大量的知识和经验,而且还在不断学习成长。心跳(Heartbeat)是 OpenClaw 的定时轮询机制,可以让 AI 主动做一些事情。你有没有遇到过这样的困扰:每次和 AI 对话,它都像失忆了一样,之前聊过的内容完全不记得?设置定时任务:每天早上 8 点,查询天气和热点新闻,通过钉钉推送给我。让你的 AI 助手拥有持久记忆,能够自主学习、总结经验、不断成长。这不仅仅是一个「能记住事情的 AI」,而是一个。

Honmaple的博客 1633

ZYNQ平台AXI DMA传输避坑指南:如何快速定位‘errors:200‘等中断故障

本文详细解析了ZYNQ平台AXI DMA传输中常见的'errors:200'等中断故障,提供了从寄存器解析到压力测试的完整解决方案。通过深入分析XILINX_DMA中断机制、错误分类及五步排查法,帮助开发者快速定位并解决DMA传输问题,提升系统稳定性与性能。

weixin_29159613的博客 439

【leetcode】001.两数之和(C语言/C++,超详细)

文章目录两数之和 leetcode-001题目要求实现步骤1.模板中四个值的意义2.在数组中找到两个连续的元素3.判断相加是否等于target4.返回元素下标代码示例1static的作用*returnSize是什么?代码示例2什么是malloc函数?malloc使用后free释放总结 两数之和 leetcode-001 题目来源leetcode 如下图所示 右侧给出了题目的基本模板 /** * Note: The returned array must be malloced, assume calle

慕雪华年的博客 2万+

threejs中使用Reflector实现出倒影效果,并实现背景透明的效果(Reflector镜面背景透明, 倒影弱化)

在项目中遇到要实现倒影效果,threejs给我们提供了Reflector,可以轻松完成镜面效果,实现倒影。但背景不透明;并且反射出的倒影太亮了;网上没搜到解决方案, 自己修改了下源码实现了想要的效果,做个记录...

weixin_40856652的博客 5720

Leetcode 1. 两数之和【C/C++】

题目链接 解题思路 1 [暴力法] 给定一个整数数组 nums 和一个整数目标值 target,在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。放置两个下标i和j,i依次遍历数组,j的范围从i+1到size-1进行遍历,从而寻找和为目标值的两个整数。 时间复杂度:O(N^2) 空间复杂度:O(1) C /** * Note: The returned array must be malloced, assume caller calls free(). */ int*

Bitdancing的专栏 237

Claude Code 错误解决方案 API Error: 前缀通用错误

本文分析了Claude Code与Anthropic API通信时出现的通用错误处理问题。当API返回未分类错误时,系统会直接显示"API Error: "前缀的原始错误信息。通过错误链路追踪发现,这是由于未匹配特定错误类型时触发了通用兜底处理逻辑。文章提供了三种解决方案:查看具体错误内容、启用调试日志以及提交问题反馈,并建议用户关注错误码、使用/compact命令处理上下文超限问题。最后强调这些未分类错误是预期行为,用户应通过错误消息中的线索自行排查或反馈开发者。

多媒体编程、网络编程、系统编程、网络安全编程、驱动编程 1345

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

力扣LeetCode刷题C++ 两数之和 两数相加

这段代码的核心是 “逐步构建链表”:从无到有创建头节点,之后每计算出一位结果,就往链表末尾加一个新节点,同时让指针p始终保持在末尾,为下一次追加做准备。这样就能把所有计算结果串联成一个完整的链表。

weixin_73793168的博客 1090

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

力扣leetcode题库练习(C++)—1.两数之和

力扣leetcode题库练习(C++)—1.两数之和题目描述示例代码及注释如下结果如下注 题目描述 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0...

weixin_45682431的博客 897

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

力扣leetcode题库练习(C++)—2.两数相加

力扣leetcode题库练习(C++)—2.两数相加题目描述示例分析代码及注释如下结果如下 题目描述 给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例 输入:(2 -> 4 ...

weixin_45682431的博客 856

LeetCode 1.两数之和【力扣——C/C++/Python三种编程语言题解】

LeetCode刷题篇,按照LeetCode专项突破的顺序进行,每道题通过C、C++、Python三种编程语言来解答。

仅以此博客记录日常学习工作中所思所得,水平有限,难登大雅,万望海涵。 816

Leetcode(力扣)题解--C++实现(一)

Leetcode(力扣)题解–C++实现(一) 文章目录Leetcode(力扣)题解--C++实现(一)题目 1 [平方数之和](https://leetcode-cn.com/problems/sum-of-square-numbers/)题目 2 [两数之和 II - 输入有序数组](https://leetcode-cn.com/problems/two-sum-ii-input-array-is-sorted/)题目 3 [反转字符串中的元音字母](https://leetcode-cn.com/p

qq_43419412的博客 2707

leetcode之两数之和c++解法

leetcode之两数之和c++解法方法一:暴力法方法二:两遍哈希表方法三:一遍哈希表 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] ...

mbskypan的博客 2395

C/C++ 描述 LeetCode 1. 两数之和

C/C++ 描述 LeetCode 1. 两数之和   大家好,我叫亓官劼(qí guān jié ),在优快云中记录学习的点滴历程,时光荏苒,未来可期,加油~博主目前仅在优快云中写博客,唯一博客更新的地址为:亓官劼的博客 本文原创为亓官劼,请大家支持原创,部分平台一直在恶意盗取博主的文章!!! 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。

一起加油 1044

【力扣Leetcode题解系列之0029—两数相除】

29.两数相除算法解析 核心思路 通过移位运算实现除法,避免使用乘除和取余运算。主要步骤:1)处理边界情况;2)确定结果符号;3)将被除数和除数转为正数;4)通过位操作实现快速减法,记录商值。 关键实现 使用位运算加速计算(左移相当于乘2) 处理INT_MIN/-1的溢出情况 通过异或运算确定结果符号 循环减去最大可能的倍数 复杂度 时间复杂度:O(logn),通过位运算加速 空间复杂度:O(1),仅使用常数空间 该算法巧妙利用位运算模拟除法,是考察位操作和边界处理的经典题目。

youngerwang的博客 1056

(力扣)LeetCode1. 两数之和(C++/C)

时间很快,空间换的~

墨染 706

leetcode(力扣)刷题笔记(c++)【中】

leetcode:贪心算法&动态规划

qq_43050258的博客 1331

c/c++ 力扣LeetCode 1.两数之和

题目链接: 力扣 1.两数之和 不想戳的看下图: 此题比较简单, 这里我们有两种方法:暴力枚举 和 哈希表。 一、暴力求解法 解析:直接循环两遍求解 代码如下: //c++ class Solution { public: vector<int> twoSum(vector<int>& nums, int target) { int i,j; for(i=0;i<nums.size()-1;i++){ f

镭射瓶的博客 448
上一篇: 【力扣(LeetCode)】【C/C++】【88.合并两个有序数组】
下一篇: 【力扣(LeetCode)】【C/C++】【203.移除链表元素】
繁华倾夏
博客等级 码龄4年 4粉丝 108原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值