首頁 > web前端 > js教程 > 主體

兩和|| DSA || JavaScript ||作者:穆尼塞卡·烏達瓦拉帕蒂

Linda Hamilton
發布: 2024-11-02 15:59:30
原創
1004 人瀏覽過

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中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板