首页  >  文章  >  web前端  >  两和|| DSA || JavaScript ||作者:穆尼塞卡·乌达瓦拉帕蒂

两和|| DSA || JavaScript ||作者:穆尼塞卡·乌达瓦拉帕蒂

Linda Hamilton
Linda Hamilton原创
2024-11-02 15:59:301005浏览

Two Sum || DSA || JavaScript || By Munisekhar Udavalapati

给定一个整数 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.

O(n²)

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn