leetcode1.两数之和

news2025/2/28 18:33:16

个人主页:平行线也会相交
欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 平行线也会相交 原创
收录于专栏【LeetCode】
🍓希望我们一起努力、成长,共同进步。

在这里插入图片描述
题目链接
给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。

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

示例一:
输入:nums = [2,7,11,15], target = 9
输出:[0,1]
解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。
示例二:
输入:nums = [3,2,4], target = 6
输出:[1,2]
示例三:
输入:nums = [3,3], target = 6
输出:[0,1]

解题思路:
使用双重循环遍历整个数组,对于每两个数分别进行相加,如果能够得到目标数值,则返回这两个数的下标。时间复杂度为 O(n^2)

具体解题思路如下:
1.在堆上分配一个大小为 2 的整数数组 a,用于存储找到的两个数的下标。
2.第一重循环用于遍历数组中的每一个数,从第一个数开始遍历,一直到倒数第二个数。
3.在第二重循环中,从当前数值的下一个位置开始遍历到数组的最后一个位置,找到与当前数值相加等于目标数值的数。
4.如果找到了符合要求的两个数,则将它们的下标存入数组 a 中,并将返回数组的长度设置为2,并直接返回数组 a。
如果整个数组都遍历完了没有找到符合要求的两个数,则返回数组
5.代码中的 returnSize 用于返回数组的长度,即找到的符合要求的两个数的个数。由于在函数中已经分配了内存用于存储数组,所以返回数组的地址即可。

通关代码实现:

//双重循环思路
int* twoSum(int* nums, int numsSize, int target, int* returnSize){
    int i=0;
    int j=0;
    int *a =(int *)malloc(sizeof(int)*2);
    for(i=0;i<numsSize-1;i++)
    {
        int j=0;
        for(j=i+1;j<numsSize;j++)
        {
            if((nums[i]+nums[j])==target)
            {
                a[0]=i;
                a[1]=j;
                *returnSize = 2;
                return a;
                break;
            }
        }
    }
    return a;
}

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

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

相关文章

FPGA-DFPGL22学习1-上手开发板

文章目录 前言一、FPGA是什么&#xff1f;二、FPGA内部结构1) 可编程输入/输出单元2) 基本可编程逻辑单元3) 嵌入式块 RAM4) 丰富的布线资源5) 底层嵌入功能单元 Logos 系列芯片 前言 和原子哥一起学习FPGA 开发环境&#xff1a;正点原子 ATK-DFPGL22G 开发板 参考书籍&…

mysql没有data和my.ini文件怎么办?

目录 一、前言 二、其他知识 一、前言 data是存储mysql数据的地方&#xff0c;ini是mysql配置文件的地方&#xff0c;要配置文件就可以在ini里面配置就好了。在mysql的安装位置没有发现这两个文件&#xff0c;不是没有&#xff0c;而是在其他地方。&#x1f447; 其实这两个…

【CSS】`top: 50%;` 和 `transform: translateY(-50%);`的区别和联系

top: 50%; 和 transform: translateY(-50%);的区别 在某些情况下&#xff0c;top: 50%; 和 transform: translateY(-50%); 可以达到类似的效果&#xff0c;但它们实际上具有不同的工作原理和应用场景。 top: 50%;&#xff1a;这是一个相对定位属性&#xff0c;用于设置元素相对…

P6739 [BalticOI 2014 Day1] Three Friends

[BalticOI 2014 Day1] Three Friends 题目描述 有一个字符串 S S S&#xff0c;对他进行操作&#xff1a; 将 S S S 复制为两份&#xff0c;存在字符串 T T T 中在 T T T 的某一位置上插入一个字符&#xff0c;得到字符串 U U U 现在给定 U U U&#xff0c;求 S S S…

【吴恩达老师《机器学习》】课后习题4之【神经网络反向传播】(代码注释详细)

前情回顾 上一周是已经给定了神经网络的最优权重参数&#xff0c;接着直接代到前向传播里面去&#xff0c;算得最终的预测值就可以了。 这周呢&#xff0c;需要搭建整个完整的神经网络&#xff0c;并且需要自己去进行训练&#xff0c;找到最终的这个优化的权重参数。 可能需要…

WVP PRO配置实战

WEB VIDEO PLATFORM是一个基于GB28181-2016标准实现的开箱即用的网络视频平台&#xff0c;负责实现核心信令与设备管理后台部分&#xff0c;支持NAT穿透&#xff0c;支持海康、大华、宇视等品牌的IPC、NVR接入。支持国标级联&#xff0c;支持将不带国标功能的摄像机/直播流/直播…

FPGA-DFPGL22学习2-开发平台学习

文章目录 前言一、Pango Design Suite软件的使用流程二、使用步骤1.新建一个工程2.设计输入3.配置工程4.分析与综合&#xff08;编译检查&#xff09;5.约束输入6.编译工程7.下载程序 总结 前言 和原子哥一起学习FPGA 开发环境&#xff1a;正点原子 ATK-DFPGL22G 开发板 参考…

5.2.2如何改变文件属性与权限

常用于群组、拥有者、各种身份的权限之修改的指令&#xff0c;如下所示&#xff1a; 改变一个文件的群组很简单&#xff0c;直接chgrp来改变&#xff0c;指令就是change group。要被改变的群组名称必须要在/etc/group文件内存在才行&#xff0c;否则就会显示错误。 假设你已经…

构造中序线索二叉树和先序线索二叉树,中序线索二叉树找寻前驱结点和后继结点,包含完整代码

一.线索二叉树的结点结构&#xff1a; lchildltagdatartagrchild ltag 0, lchild域指示结点的左孩子 ltag 1, lchild域指示结点的前驱 rtag 0, rchild域指示结点的右孩子 rtag 1, rchild域指示结点的后继 这里用char型作为树的数据域类型 //定义线索二叉树的结…

chatgpt赋能python:Python用于股票:掌握数据、分析趋势

Python用于股票&#xff1a;掌握数据、分析趋势 在当今数字化时代&#xff0c;投资者使用数据分析技术作出投资决策变得越来越重要&#xff0c;而Python正是一种无形中帮助投资者进行数据分析的强有力工具。Python是一种高级数据分析语言&#xff0c;具有易读易懂的语法和强大…

牛客网专项练习——C语言错题集(9)

文章目录 字符常量\0 与 逻辑假的关系不同类型变量所占空间大小运行多个 fork容易造成缓冲区溢出的字符串操作函数函数原型格式指针变量的关系运算&#xff0c;空指针访问存储单元BSS 段二维数组初始化 字符常量 ‘a’ 是一个字符常量&#xff0c;占用 1 个字节空间。 ‘\0’ …

数据结构期末复习【更新】

数据结构期末复习【更新】 1.模式匹配2.画二叉树&#xff08;根据中序和后序&#xff0c;前序和中序&#xff09;及其线索二叉树3.求叶子结点个数4.建立二叉排序树5.广义表6.求存储地址7.代码设计8.哈夫曼树9.最小生成树10.深度遍历、广度遍历、邻接表建立11.哈希表&#xff08…

【Leetcode60天带刷】day28回溯算法——93.复原IP地址 ,78.子集 , 90.子集II

​ 题目&#xff1a; 地址 有效 IP 地址 正好由四个整数&#xff08;每个整数位于 0 到 255 之间组成&#xff0c;且不能含有前导 0&#xff09;&#xff0c;整数之间用 . 分隔。 例如&#xff1a;"0.1.2.201" 和 "192.168.1.1" 是 有效 IP 地址&#xf…

【Leetcode60天带刷】day22二叉树—— 235. 二叉搜索树的最近公共祖先 ,701.二叉搜索树中的插入操作 ,450.删除二叉搜索树中的节点

​ 题目&#xff1a; 235. 二叉搜索树的最近公共祖先 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为&#xff1a;“对于有根树 T 的两个结点 p、q&#xff0c;最近公共祖先表示为一个结点 x&#xff0c;满足 x 是 p、q 的祖先…

【Leetcode60天带刷】day23二叉树—— 669. 修剪二叉搜索树 ,108.将有序数组转换为二叉搜索树 , 538.把二叉搜索树转换为累加树

​ 题目&#xff1a; 669. 修剪二叉搜索树 给你二叉搜索树的根节点 root &#xff0c;同时给定最小边界low 和最大边界 high。通过修剪二叉搜索树&#xff0c;使得所有节点的值在[low, high]中。修剪树 不应该 改变保留在树中的元素的相对结构 (即&#xff0c;如果没有被移除&…

高速板材应用案例

要求如下: 高速信号部分有12.5Gbps Interlaken信号、QPI、PCIe3.0信号(后面有兼容PCIe4.0的要求),另外还有10.3125Gbps到光口信号;高速信号损耗要求: -0.8dB/inch@4GHz,-1.6dB/inch@8GHz差分信号阻抗控制有85ohm、90ohm和100ohm,单端按照50ohm控制,阻抗及线宽控制表如下…

【Leetcode60天带刷】day29回溯算法——491.递增子序列, 46.全排列, 47.全排列 II

​ 题目&#xff1a; 491. 递增子序列 给你一个整数数组 nums &#xff0c;找出并返回所有该数组中不同的递增子序列&#xff0c;递增子序列中 至少有两个元素 。你可以按 任意顺序 返回答案。 数组中可能含有重复元素&#xff0c;如出现两个整数相等&#xff0c;也可以视作递…

基于免疫优化算法的线性规划问题求解(matlab程序)

0.代码链接 基于免疫优化算法的线性规划问题求解&#xff08;matlab程序&#xff09;资源-CSDN文库 1.简述 免疫算法&#xff08;Immune Algorithm&#xff0c;IA&#xff09;&#xff1a;是指以在人工免疫系统的理论为基础&#xff0c;实现了类似于生物免疫系统的抗原识别…

【LeetCode】动态规划 刷题训练(二)

文章目录 62. 不同路径题目解析状态转移方程完整代码 63. 不同路径 II题目解析状态转移方程完整代码 剑指 Offer 47. 礼物的最大价值题目解析状态转移方程完整代码 62. 不同路径 点击查看&#xff1a;不同路径 一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图…

树莓派与STM32之间串口通信

目录 一、树莓派串口通信模块介绍 二、树莓派蓝牙、串口引脚映射对换步骤 1.启动串口 2. 禁用蓝牙&#xff08;硬件串口与mini串口映射对换&#xff09; 3.验证是否交换成功 三、树莓派安装mini串口调试助手 四、树莓派与电脑串口调试 五、树莓派与STM32串口调试 一、树…