IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> LeetCode第1题简单数组(1) 俩数之和 -> 正文阅读

[数据结构与算法]LeetCode第1题简单数组(1) 俩数之和

1.题目

给定一个整数数组 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]

2.题目分析

1.首先利用2个指针一个在数组最前面,另一个指针在改指针后面,在最前面的为快指针,后面指针为慢指针。
2.之后,慢指针固定不动,快指针遍历数组。
3.若第一次快指针遍历后,没有找出target值,后慢指针加1指向数组第二个值,快指针再次遍历。
4.重复3步骤,直到找到target后,申请2个空间的数组储存对应数组的索引值。

在这里插入图片描述
第一次j遍历数组后若没有找到target值,则i加1,j在其后面,无需从数组的第一个数开始

3.代码

int* twoSum(int* nums, int numsSize, int target, int* returnSize)
{
    int i,j;
    int *result=NULL;
	*returnSize=2;//要对其返回的的个数进行赋值  此题返回2个数 则为2
	//此处可以 result=(int*)malloc(sizeof(int)*2),只会申请一次不会造成内存浪费。
    for(i=0;i<numsSize-1;i++)//此处为numSize-1的原因是 若当i指向数组的倒数第二个数是,j就为数组的最后的数,这是最后一种情况,
//这种情况一定是target值,所以无需i<numsSize.
    
    {
        for(j=i+1;j<numsSize;j++)
        {
		//此处不可以 result=(int*)malloc(sizeof(int)*2),会造成malloc多次申请内存
            if(nums[i]+nums[j]==target)
            {
                 result=(int*)malloc(sizeof(int)*2);//只会申请一次,不会造成内存浪费
                 result[0]=i;
                 result[1]=j;
                 return result;
            }
        }
    }
    return result; //最后这里需要返回相应的值
}


4.运行结果

在这里插入图片描述

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2021-09-08 10:59:23  更:2021-09-08 11:01:11 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 1:28:49-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码