Js+Map實現兩數之和

1. 題目

給定一個整數數組nums和一個整數目標值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]
解釋: 因爲nums[1] + nums[2] == 6,返回[1,2]。

提示:
在這裏插入圖片描述

2. 思路

2.1 暴力破解法

看到這道題,首先想到的就是暴力破解法,通過兩個for循環去遍歷數組nums找到兩個數相加等於目標值target的相對的下標。實現代碼如下:
在這裏插入圖片描述

結果:在這裏可以看到暴力破解法不僅耗時長,而且內存消耗也很大。
在這裏插入圖片描述

2.2 Map數據結構

利用js中map集合通過差值來尋找,實現代碼如下:
在這裏插入圖片描述
結果:
在這裏插入圖片描述
只循環一次,然後求得target和當前數值的差值,存放在map裏面,去map裏面循環看是否有這個目標值,有的話,返回對應值的下標。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章