题目描述:
给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。
你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。
示例:
给定 nums = [2, 7, 11, 15], target = 9
因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]方法一、暴力解法:
暴力法很简单,遍历每个元素 x,并查找是否存在一个值与 target?x 相等的目标元素。
复杂度分析:时间复杂度:O(n^2), 对于每个元素,我们试图通过遍历数组的其余部分来寻找它所对应的目标元素,这将耗费 O(n) 的时间。因此时间复杂度为 O(n^2)。空间复杂度:O(1)方法二、两遍哈希表:
为了对运行时间复杂度进行优化,我们需要一种更有效的方法来检查数组中是否存在目标元素。如果存在,我们需要找出它的索引。保持数组中的每个元素与其索引相互对应的最好方法是什么?哈希表。
通过以空间换取速度的方式,我们可以将查找时间从 O(n) 降低到 O(1)。哈希表正是为此目的而构建的,它支持以近似恒定的时间进行快速查找。我用“近似”来描述,是因为一旦出现冲突,查找用时可能会退化到 O(n)。但只要你仔细地挑选哈希函数,在哈希表中进行查找的用时应当被摊销为 O(1)。
一个简单的实现使用了两次迭代。在第一次迭代中,我们将每个元素的值和它的索引添加到表中。然后,在第二次迭代中,我们将检查每个元素所对应的目标元素 (target?nums[i]) 是否存在于表中。注意,该目标元素不能是 nums[i] 本身!
复杂度分析:时间复杂度:O(n), 我们把包含有 n 个元素的列表遍历两次。由于哈希表将查找时间缩短到 O(1),所以时间复杂度为 O(n)。空间复杂度:O(n), 所需的额外空间取决于哈希表中存储的元素数量,该表中存储了 n 个元素。方法三、一遍哈希表:
事实证明,我们可以一次完成。在进行迭代并将元素插入到表中的同时,我们还会回过头来检查表中是否已经存在当前元素所对应的目标元素。如果它存在,那我们已经找到了对应解,并立即将其返回。
复杂度分析:时间复杂度:O(n), 我们只遍历了包含有 n 个元素的列表一次。在表中进行的每次查找只花费 O(1) 的时间。空间复杂度:O(n), 所需的额外空间取决于哈希表中存储的元素数量,该表最多需要存储 n 个元素。
相关下载 |
《战神5诸神黄昏》的地图设计复杂程度不亚于前作,这里我以之前制作《艾尔登法环》全探索攻略的标准为大家制作《战神5诸详情>>
在《生化危机8》萝丝魅影DLC中,玩家需要解开画廊的谜题才能够拿到三眼钥匙,前往下一个区域,还不清楚怎么做的玩详情>>
在《生化危机8》萝丝魅影DLC中,进入贝内文托的房子后首先需要面对的就是人偶谜题,还不清楚到底该怎么做的玩家详情>>
《哥谭骑士》的主线和支线任务中有许多谜题,玩家需要根据剧情或线索解开谜题后才能继续推进任务。下面就为大详情>>
在《哥谭骑士》的主线案件4.2中,玩家需要将哥谭市四处地标建筑正确拼接才能解开谜题。许多小伙伴可能还不太详情>>
《原神》3.1版本黄金梦乡“热砂之梦”任务途中需要完成圣显厅的三个试炼,许多小伙伴可能还不太清楚其中一些谜题的解法,详情>>
在《漫威蜘蛛侠》中,玩家可在奥托博士的实验室中进行解谜游戏,成功解开后可以获得经验值和研究代币,还不清楚怎么解谜的玩详情>>
《失心疯》中有很多棘手的谜题,部分谜题的解法步骤比较复杂,因此很容易卡关,这样一来就会拖慢游戏节奏,进而影响到玩家的心详情>>
《茶杯头》最后的美食DLC中有一处墓碑区域,解开这里的谜题后就可以进入隐藏关,还不清楚怎么解谜的小伙伴请看详情>>
哈喽大家好,这里是蜻蜓队长Zwj。聊起最会做三国题材游戏的公司时大家肯定会想到光荣特库摩吧?有意思的是,除了本身非常擅长做这种题材详情>>
《纸嫁衣2奘铃村》中的很多谜题都颇有难度,比如围棋谜题、算盘谜题等。下面请看由“An.”带来的《纸嫁衣2奘详情>>
在TUNIC这款游戏中,有着许多的结局,在真结局中黄金大道是它谜题的位置,但是有很多小伙伴不是很清楚黄金大道这个谜题的解法,下面小编给大家带来详细的介绍。 在T详情>>
炉石传说奥特兰克泽瑞拉谜题很多的玩家不清楚如何通过,需要去进行正确的开启,还加入了牧师的谜题在其中哦,需要玩家们去进行揭开,在过程中方法不是唯一的,可以尝试下不同的思路详情>>
炉石传说奥特兰克库尔特鲁斯谜题怎么才能去完成呢,玩家们搞不懂对应的谜题含义无法去进行闯关,小编为玩家们提供具体的思路去进行闯关,希望可以帮助到正在闯关的玩家们,快速完详情>>
《艾尔登法环》亚坛高原上有一座海市蜃楼魔法师塔,只有解开了谜题才能进去,还不清楚怎么进入这座塔的玩家请看详情>>
《原神》渊下宫的一些谜题需要在蛇心之地的祭坛中进行解谜。下面请看由“sdqd_gxy”带来的《原神》蛇心之地详情>>
《开拓者正义之怒》的英勇之锋旗帜谜题相信很多玩家还不知道要怎么解。下面就为大家带来由“simplewish”分详情>>
《开拓者正义之怒》德斯纳祭坛的谜题解开后可提前让魅魔加入队伍。下面请看由“simplewish”带来的《开拓者详情>>
在赏金侦探手游中谜题解密答案究竟是什么?玩法技巧内容又是什么样的呢?不清楚的话,接下来就让我们一起来详情>>
古镜记里的围棋谜题怎么解?这两天刚刚上线的古镜记游戏非常的受欢迎,其中有一个围棋的谜题,很多玩家不知道怎么去完成,小编整理了一些内容,来一起看看吧。 游戏里的这个围棋谜题详情>>
导 读 赏金侦探怎么解密?在赏金侦探这款游戏当中,有着复数的谜题等着玩家前来破解,有一些谜题还是相当有难度的。如果不能破解的话就让人很难受。那么赏金侦探要怎么才能通关详情>>
炉石传说贫瘠之地谜题怎么解?相信有很多玩家都会希望了解贫瘠之地的谜题要怎么做才能够顺利解开吧。下面就让07073游戏网小编为大家分详情>>
在炉石传说的游戏中,贫瘠之地开启了谜题解谜的任务,此次为大家带来的是战士的解密攻略,接下来就和小编一详情>>
炉石传说德鲁伊谜题解答步骤:炉石传说最近开启了全新的德鲁伊之谜的玩法,下面一起来看一下炉石传说德鲁伊谜题解答步骤,感兴趣的小伙伴一定不要错过了详情>>
《Control》异世界事件DLC为玩家们带来了全新的故事内容。其中有一个与钟表有关的谜题难倒了不少人,那么这个详情>>
《惊悚故事2》(Creepy Tale 2)是一款Deqaf Studio制作并发行的剧情向冒险解谜游戏,萧条的年代来临了。神秘的恶魔通过绑架儿童和残忍对待详情>>
在《灵媒》游戏中,你将作为天赋异禀的灵媒,运用独特的通灵能力,同时穿梭于现实与精神世界,探索未知的秘密。这里为大家带来详情>>
在游戏中玩家会遇上一些谜题,这些谜题本身没有什么难度,那么幽灵行者水管谜题怎么解呢?还不知道的玩家快来看小编带来的谜题解决方法介绍吧。 在游戏中玩家会遇上详情>>
CuteHoney2(可爱的宝贝2)全关卡攻略,游戏中每个关卡都需要玩家进行解谜后才能够通过,下面就为大家带来全部关卡的解谜攻略,供各位玩家们参考。 全关卡攻略 1-1详情>>
古云有螭是原神中的隐藏任务,同时也被许多玩家称为最难的任务,该任务中有大量的谜题需要玩家来攻破,下面就为大家分享公测版中古云有螭的解密攻略,供各位玩家们参考。 详情>>
原神孤岛谜题在这个游戏中是非常值得我们去挑战的一个内容,在游戏中虽然有着很多的谜题,但是都是很简单的,所以像这样长线的,解谜内容非常多的还是很值得我们期待的,下面就是原详情>>
Control控制在最近推出了DLC2,其中的一个隐藏地点的钟表谜题很多玩家不知道该怎么解,下面一起来看看钟表谜题的解法吧。 钟表谜题解法 地点在调查部左上角的“详情>>
在控制终极版最新DLC2AWE中玩家会流程到一个与钟表相关的谜题,许多玩家可能还不太清楚这个谜题怎么解,下面就为大家分享详细的解法攻略,供各位玩家们参考。 DLC2钟表谜详情>>
山羊的瞳孔是什么形状的?各位小伙伴是不是在寻找攻略,让我们一起来看下最新详细各种小技巧吧。想知道更多还不赶快关注我们。森林驿站8月26日每日一题解答问题:山羊的瞳孔是什详情>>
如果真有鹊桥,大约要多少只喜鹊才能搭成?想必小伙伴都不知道吧,所以小编今天给大家带来的技巧介绍。需要的朋友还不快进来看看。蚂蚁庄园每日一题解答牛郎织女“鹊桥相会,如果详情>>
《遗迹灰烬重生》中的审判之矛需要玩家解开地宫谜题后才可以获得,许多玩家还不知道应该如何解开这个谜题,下面详情>>
横版冒险解谜游戏一路目前已经在steam平台正式发售,游戏中有各种谜题和隐藏要素可供玩家探索,下面给大家带来本作的全流程收集解谜攻略 序章【家人的照片】 拆开信详情>>
每天完成什么任务可以为果树获得500g肥料?相信有很多小伙伴不知道,下面就由小编为各位小伙伴详细介绍。想知道更多还不赶快关注我们。支付宝8月5日庄园小课堂每日一题解答每详情>>
导 读 迷雾之夏灯泡谜题解法 发布时间:2020-07-2409:29来源:逗游网 文字冒险解谜游戏迷雾之夏目前已经在steam平台好评热卖中,游戏中有各种谜题可供玩家破解,下面给大... 迷详情>>
迷雾之夏灯泡谜题解法 发布时间:2020-07-24 09:29 来源:逗游网 详情>>