给定一个整数 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中文网其他相关文章!