LeetCode刷题集(五)(LeetCode1.两数之和)

news2025/1/12 18:46:01

学习目标:

掌握LeetCode第一题两数之和


学习内容:

LeetCode第一题两数之和

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

首先我们来抓重点,找两数之和,以及返回的是数组的下标,并且同一个元素在答案中不可以重复的出现!

示例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]


代码分析:

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

思路分析:首先我们应该搞清楚他给的参数是什么意思?int* nums这是一个指针变量,用来存储地址的,其实也就是数组的意思啦,numsSize就是元素个数,target就是两数之和,*returnsSize就是元素返回个数,好勒,我们进行代码分析!

代码分析:我的代码思路就是两层for循环,首先第一层for循环从下标0遍历到末尾,也就是最外层,然后for循环的第二层就是i + 1的下一位,解说如下图所示,那我们代码中的malloc是怎么回事呢?其实malloc就是在堆上开辟一块空间,那么我们用这块空间来干什么呢?当然是用来存储返回的下标的。sizeof是用来计算int占内存中的多少个字节的,然后我们要返回两个下标,所以我们要开辟两个数据的下标!最后我们在返回我们所开辟的ret指针就行啦!在这里插入图片描述


学习产出:

好啦,今天份的LeetCode分析结束啦!希望大家都能有进步鸭!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/436106.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ASEMI代理AD9951YSVZ原装ADI车规级AD9951YSVZ

编辑&#xff1a;ll ASEMI代理AD9951YSVZ原装ADI车规级AD9951YSVZ 型号&#xff1a;AD9951YSVZ 品牌&#xff1a;ADI/亚德诺 封装&#xff1a;HTQFP-48 批号&#xff1a;2023 引脚数量&#xff1a;48 安装类型&#xff1a;表面贴装型 AD9951YSVZ汽车芯片 特征 400 MS…

shell编程实例 — 实现4G开机自动运行,实时监测,断线自动重拨》

shell编程实例 — 实现4G开机自动运行&#xff0c;实时监测&#xff0c;断线自动重拨》 往事只能回味味道 于 2021-11-20 02:30:53 发布831 收藏 1 分类专栏&#xff1a; shell 文章标签&#xff1a; ubuntu linux udp 版权 ​编辑shell专栏收录该内容 3 篇文章0 订阅 订阅…

Mysql日志系统-InnoDB引擎层

一、redo log日志 接下来的两个日志&#xff0c;是innodb为解决不同问题而引出的两类日志文件。 redo log&#xff08;重做日志&#xff09;的设计主要是为了防止因系统崩溃而导致的数据丢失&#xff0c;其实解决因系统崩溃导致数据丢失的思路如下&#xff1a; 1、每次提交事务…

SpringBoot解决用户重复提交订单(方式二:通过Redis实现)

文章目录 前言1、方案实践1.1、引入Redis依赖1.2、添加Redis环境配置1.3、编写获取请求唯一ID的接口&#xff0c;同时将唯一ID存入redis 1.4、编写服务验证逻辑&#xff0c;通过 aop 代理方式实现1.5、在相关的业务接口上&#xff0c;增加SubmitToken注解即可 2、小结 前言 在…

华润数科、京东科技、京彩未来携手共进,求解“科技×产业”最大值

4月18日&#xff0c;华润数科、京东科技、京彩未来三方代表在中国深圳签署三方合作协议。面向产业数字化的市场机遇&#xff0c;华润数科物联网事业部总经理刘楚明先生表示&#xff0c;华润数科作为华润集团重点培育的数字科技业务单元&#xff0c;基于技术优势及资源整合能力&…

在SAP中使用QUERY

在SAP中使用QUERY 一、SAP query介绍 ​ QUERY是SAP提供的方便无编程基础用户的报表工具&#xff0c;使用图形化的界面&#xff0c;让用户托托拽拽就能轻松完成报表编写。我们可以将Query理解成QuickView的高级版本&#xff0c;它在QuickView的基础上增加的功能有&#xff1a…

一、摄影基础课

目录 第一章 控制曝光1. 曝光及曝光三要素1.1 曝光1.2 光圈1.3 快门1.4 感光度&#xff08;ISO&#xff09;1.5 曝光三要素之间的关系 2. 曝光模式3. 测光模式4. 曝光补偿 第二章 控制对焦1. 对焦区域2. 对焦模式 第三章 控制色彩 第一章 控制曝光 1. 曝光及曝光三要素 1.1 曝…

尚硅谷大数据技术Zookeeper教程-笔记01【Zookeeper(入门、本地安装、集群操作)】

视频地址&#xff1a;【尚硅谷】大数据技术之Zookeeper 3.5.7版本教程_哔哩哔哩_bilibili 尚硅谷大数据技术Zookeeper教程-笔记01【Zookeeper(入门、本地安装、集群操作)】尚硅谷大数据技术Zookeeper教程-笔记02【服务器动态上下线监听案例、ZooKeeper分布式锁案例、企业面试真…

外包干了4年,直接废了···

有一说一&#xff0c;外包没有给很高的薪资&#xff0c;是真不能干呀&#xff01; 先说一下自己的情况&#xff0c;大专生&#xff0c;19年通过校招进入湖南某软件公司&#xff0c;干了接近4年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0…

[java/初学者]java常用API(1)——包装类

前言 在学习本课题之前&#xff0c;我们首先需要知道什么是API。 API&#xff0c;即Application Programming Interface&#xff0c;中文名称是“应用程序接口"&#xff0c; 这些接口就是"jdk所提供"给我们使用的类&#xff0c;我们不需要去深究它是如何实现…

STM32+EC20实现4G无线通信

EC20是一款集成度非常高的4G无线通信模块&#xff0c;支持多种常见通信频段&#xff0c;能满足几乎所有的M2M(MachinetoMachine)应用需求。模块支持TCP/UDP/FTP等一众网络协议&#xff0c;内置多星座高精度定位GNSS接收机&#xff0c;快速提供准确的经纬度信息&#xff0c;UART…

vscode java环境扩展

下载安装jdk: Java Downloads | Oracle 下载安装maven: Maven – Download Apache Maven windows系统选择 Binary zip archive maven目录中的conf文件中有一个settins.xml文件 镜像&#xff08;mirrors&#xff09;二选一 <mirror><id>nexus-aliyun</…

影视动画设计有些SCI期刊推荐? - 易智编译EaseEditing

以下是几本影视动画设计方向的SCI期刊&#xff1a; ACM Transactions on Graphics: 该期刊是ACM&#xff08;Association for Computing Machinery&#xff0c;美国计算机协会&#xff09;下的一个子刊&#xff0c;涵盖了计算机图形学和交互技术等领域&#xff0c;也包括了动…

虚拟化技术 — 硬件辅助的虚拟化技术

目录 文章目录 目录硬件辅助的虚拟化技术概览CPU 虚拟化技术基于二进制翻译的全虚拟化技术&#xff08;Full-Virtualization&#xff09;需要改造 GuestOS 的半虚拟化技术&#xff08;Para-Virtualization&#xff09;Intel VT-x 硬件辅助的虚拟化技术&#xff08;Hardware-ass…

智芯Z20K11x串口printf重定向

智芯Z20K11x串口printf重定向 目录 智芯Z20K11x串口printf重定向前言1 串口代码编写2 Keil勾选MicroLIB库结束语 前言 智芯Z20K11x系列是基于ARM CORTEX M0的中低端微控制器&#xff0c;高达256K P FLASH 128K D FLASH&#xff0c;2路CANFD接口&#xff0c;4路UART/LIN接口&a…

综合能源系统中基于电转气和碳捕集系统的热电联产建模与优化研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

HashMap理解

简单介绍 HashMap是双列集合Map接口下的实现类&#xff0c;jdk1.8之前其数据结构是数组链表、jdk1.8之后是数组链表红黑树&#xff0c;是线程不安全的&#xff0c; 原理图&#xff1a; HashMap放值的过程&#xff1a; HashMap先是根据Hash算法算出key的hashcode码值&#xff0…

Vivado之VIO原理及应用

虚拟输入输出&#xff08;Virtual Input Output,VIO)核是一个可定制的IP核&#xff0c;它可用于实时监视和驱动内部FPGA的信号&#xff0c;如图所示。 可以定制VIO的输入和输出端口的数量与宽度&#xff0c;用于和FPGA设计进行连接。由于VIO核与被监视和驱动的设计同步&#xf…

Linux操作系统原理—内核网络协议栈

前言 本文主要记录 Linux 内核网络协议栈的运行原理 数据报文的封装与分用 封装&#xff1a;当应用程序用 TCP 协议传送数据时&#xff0c;数据首先进入内核网络协议栈中&#xff0c;然后逐一通过 TCP/IP 协议族的每层直到被当作一串比特流送入网络。对于每一层而言&#xff…

SwiftUI 使用 UIPageViewController 翻页后出现空白的原因及解决

问题现象 我们 SwiftUI 开发的 App 需要 UIPageViewController 的翻页功能,这可以非常方便的通过桥接 UIKit 到 SwiftUI 来搞定: 不过,观察上图可以发现 App 翻页显示的并不太对:当用户通过右下角的 UIPageControl 触发翻页时没有问题,但当用户直接手动在 UIPageViewCont…