給定一個整數 nums 陣列和一個整數 target,傳回兩個數字的索引,使它們相加等於 target。
您可以假設每個輸入都有一個解決方案,並且您不能兩次使用相同的元素。
您可以按任何順序返回答案。
Example 1: Input: nums = [2,7,11,15], target = 9 Output: [0,1] Explanation: Because nums[0] + nums[1] == 9, we return [0, 1]. Example 2: Input: nums = [3,2,4], target = 6 Output: [1,2] Example 3: Input: nums = [3,3], target = 6 Output: [0,1]
Constraints: 2 <= nums.length <= 104 -109 <= nums[i] <= 109 -109 <= target <= 109 Only one valid answer exists.
var twoSum = function(nums, target) { for(let i=0;i<nums.length;i++){ for(let j=i+1;j<nums.length;j++){ if(nums[i]+nums[j]==target){ return [i,j] } } } };
後續:你能想出一個小於 O(n2) 時間複雜度的演算法嗎?
var twoSum = function(nums, target) { let map=new Map(); for(let i=0;i<nums.length;i++){ let v1=nums[i]; let v2=target-v1; if(map.has(v2)){ return [i,map.get(v2)] } map.set(v1,i) } };
以上是兩和|| DSA || JavaScript ||作者:穆尼塞卡·烏達瓦拉帕蒂的詳細內容。更多資訊請關注PHP中文網其他相關文章!