leetcode--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 <= nums.length <= 10^4
  • -10^9 <= nums[i] <= 10^9
  • -10^9 <= target <= 10^9
  • 只会存在一个有效答案

暴力枚举法 

代码如下: 

# include <iostream>int* twoSum(int*nums, int target) {int Array[2]; // 定义一个长度为2的数组,用于存放结果for (int i = 0; i < 5; i++) {for (int j = i + 1; j < 5; j++) {if (nums[i] + nums[j] == target) {Array[0] = i + 1; // 加1的原因:数组的下标索引是从0开始,元素的位置从1开始Array[1] = j + 1;return Array; // 返回结果数组的首地址}}     }
}int main() {int numbers[5] = { 10, 20, 30, 40, 50 }; // 创建一个整型数组,包含5个元素int *result = twoSum(numbers, 60); // 调用函数std::cout << '[' << result[0] << ',' << result[1] << ']' << std::endl; // 输出结果return 0;
}

1. 时间复杂度分析
外层循环从索引0遍历到n-1,其中n是数组的长度,因此有n次迭代。
内层循环从索引i+1遍历到n-1,最坏情况下需要n-1次迭代。
在内层循环中进行了常数时间的加法操作和比较操作。
因此,暴力求解法总体的时间复杂度为O(n^2),其中n是数组的长度。

2. 空间复杂度分析
除了存储输入数组和输出结果的空间外,该算法没有使用额外的空间。
输入数组的空间复杂度为O(n)。
输出结果是一个长度为 2 的整型数组 Array,用于存放结果。因此,不随输入大小变化,空间复杂度为 O(1),即常数级别的额外空间消耗。
因此,暴力求解法总体的空间复杂度为O(n)。

        尽管该方法时间复杂度较高,但对于小规模的问题或输入规模不大的情况下,仍然可以使用。但对于大规模的问题或输入规模较大的情况下,该方法的效率会较低,因此需要考虑使用其他更优化的方法来解决该问题,如哈希表等,来优化时间复杂度。

                        
部分引用自:https://blog.csdn.net/AAADiao/article/details/131426269

后续持续改进!!! 

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

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

相关文章

VSCode通过跳板机免密连接远程服务器的解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

内联函数与宏定义

内联函数 以inline修饰的函数叫做内联函数&#xff0c;编译时C编译器会在调用内联函数的地方展开&#xff0c;没有函数调用建立栈帧的开销&#xff0c;内联函数提升程序运行的效率。减少函数栈帧的开辟和销毁&#xff0c;如当频繁调用一个函数的时候&#xff0c;此时消耗栈帧的…

pytorch-解决过拟合之regularization

目录 1.解决过拟合的方法2. regularization2. regularization分类3. pytorch L2 regularization4. 自实现L1 regularization5. 完整代码 1.解决过拟合的方法 更多的数据降低模型复杂度 regularizationDropout数据处理早停止 2. regularization 以二分类的cross entropy为例&…

上海亚商投顾:沪指缩量调整 有色、煤炭等周期股集体大跌

上海亚商投顾前言&#xff1a;无惧大盘涨跌&#xff0c;解密龙虎榜资金&#xff0c;跟踪一线游资和机构资金动向&#xff0c;识别短期热点和强势个股。 一.市场情绪 沪指昨日缩量调整&#xff0c;午后一度跌近1%&#xff0c;黄白二线走势分化&#xff0c;微盘股指数涨超3%。军…

GLM4——Function calling(函数调用)

作用: Function Calling可以根据用户的输入自行判断何时需要调用哪些函数&#xff0c;并且可以根据目标函数的描述生成符合要求的请求参数。开发人员可以使用函数调用能力&#xff0c;通过GPT实现&#xff1a; 在进行自然语言交流时&#xff0c;通过调用外部工具回答问题&…

[图解敏捷口号]普天之下皆我妈-01-新手一次走两步

0 00:00:00,830 --> 00:00:03,750 今天我们来看一句敏捷口号 1 00:00:04,030 --> 00:00:05,660 后面我们会 2 00:00:06,300 --> 00:00:09,570 列一些比较幼稚的口号 3 00:00:09,970 --> 00:00:11,145 一句一句 4 00:00:11,145 --> 00:00:12,790 我们来剖析一…

超级牛逼 专业的 js 汉字拼音转换库

pinyin-pro 是一个专业的 js 汉字拼音转换库&#xff0c;功能丰富、准确率高、性能优异。 &#x1f3a8; 特色功能 支持拼音/声母/韵母/首字母/音调/全部信息支持人名姓氏模式支持文本和拼音匹配支持自定义拼音支持获取带拼音汉字的 HTML 字符串支持获取汉字的所有拼音支持拼音…

SpringBoot 启动控制台 --banner.txt实现打印炫酷控制台图案

文章目录 目录 文章目录 安装流程 小结 概要安装流程技术细节小结 概要 分析源代码&#xff0c;banner.txt实现打印控制台 控制台图案生成网址&#xff1a;Ascii艺术字实现个性化Spring Boot启动banner图案&#xff0c;轻松修改更换banner.txt文件内容&#xff0c;收集了丰富…

SSL证书安装失败怎么办?

在互联网时代&#xff0c;SSL&#xff08;Secure Sockets Layer&#xff09;证书已成为保障网站数据传输安全、提升用户信任度的重要工具。然而&#xff0c;在实际操作过程中&#xff0c;SSL证书的安装并非总能一帆风顺&#xff0c;有时会遇到各种导致安装失败的问题。本文将详…

munge服务启动异常问题记录

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、问题一:cannot canonicalize "/var/run/munge"二、问题二&#xff1a;Failed to create "/var/run/munge/munge.socket.2.lock": Perm…

微前端集成模式:独立部署与共享依赖

微前端是一种将复杂的前端应用程序拆分为多个独立的、可独立部署的子应用的架构模式。在微前端中&#xff0c;每个子应用都可以独立开发、测试和部署&#xff0c;而不会影响其他子应用的运行。 在微前端中&#xff0c;有两种常见的集成模式&#xff1a;独立部署和共享依赖。 独…

美硕科技授权世强硬创代理,继电器具备控制功率小、电磁干扰小特点

受工业自动化、智能制造、物联网以及可再生能源等领域发展的推动&#xff0c;全球继电器市场在过去几年中持续增长&#xff0c;预计未来几年将继续保持这一趋势。 为满足日益增长的市场需求&#xff0c;世强先进&#xff08;深圳&#xff09;科技股份有限公司&#xff08;下称…

jvm中的引用类型

Java中的引用类型 1.强引用 一个对象A被局部变量、静态变量引用了就产生了强引用。因为局部变量、静态变量都是被GC Root对象关联上的&#xff0c;所以被引用的对象A&#xff0c;就在GC Root的引用链上了。只要这一层关系存在&#xff0c;对象A就不会被垃圾回收器回收。所以只要…

Linux shell编程学习笔记47:lsof命令

0 前言 今天国产电脑提示磁盘空间已耗尽&#xff0c;使用用df命令检查文件系统情况&#xff0c;发现/dev/sda2已使用100%。 Linux shell编程学习笔记39&#xff1a;df命令https://blog.csdn.net/Purpleendurer/article/details/135577571于是开始清理磁盘空间。 第一步是查看…

第二篇、SD真人视频转卡通动画 学习笔记

接着第一篇 2K转4K 生成玩卡通视频后&#xff0c;如何转换成更高分辨率的视频 1、将第一篇生成的工作目录下的output目录改成output-old&#xff0c;新建一个output目录 2、进入0&#xff0c;1子目录&#xff0c;把EbSynth生成的Outputxxx都删掉&#xff0c;frames和keys下…

IP5306 2.1A充电2.4 A放电电高集成度移动电源SOC IC,为移动电源提供完美电源解决方案

IP5306是一款集成升压转换器、锂电池充电管 理、电池电量指示的多功能电源管理 SOC&#xff0c;为移动 电源提供完整的电源解决方案。 IP5306的高集成度与丰富功能&#xff0c;使其在应用时 仅需极少的外围器件&#xff0c;并有效减小整体方案的尺寸&#xff0c; 降低 BOM 成本…

Unity射击游戏开发教程:(5)使用 GetComponent 在 Unity 中进行脚本通信

我认为脚本通信是刚开始使用 Unity 时较难掌握的概念之一,我将继续讨论这个概念。在本文中,我将介绍如何在游戏对象发生碰撞时使用 GetComponent 来访问另一个脚本。 在这个游戏场景中,我有两个游戏对象,它们都有自己的脚本,需要进行通信。我们有玩家脚本和敌人脚本。Enem…

MP:There is no getter for property named ‘null‘ in ‘class XXX‘异常

在使用主键进行更新或者删除的时候&#xff0c;报下面错误 There is no getter for property named ‘null’ in class 。。。 代码如下 Builder Data public class Course implements Serializable {private static final long serialVersionUID -16929324809307129L;privat…

CC++的内存管理

C&C的内存管理 栈&#xff1a;即用即销毁 堆&#xff1a;有需求再申请空间&#xff0c;手动销毁 注意&#xff1a;const 修饰可以使变量有常性&#xff0c;但是变量存储的域与没有const修饰是相同的。 即&#xff1a; 在 main函数中&#xff0c; const int a 0; int b…

1个月,从估值3.5亿美元到卷款3000万,ZKasino做了什么?

项目rug跑路&#xff0c;对于加密圈的人而言&#xff0c;并不少见。 但rug得这么理直气壮&#xff0c;甚至在圈内掀起了一波对投资机构和KOL的口诛笔伐的项目&#xff0c;ZKasino&#xff0c;也算是头几个。 短短一个月时间&#xff0c;从估值3.5亿美元、众人吹捧的明星级项目&…