ホームページ >ウェブフロントエンド >jsチュートリアル >2 つの合計 || DSA || JavaScript ||ムニセカール・ウダバラパティ

2 つの合計 || DSA || JavaScript ||ムニセカール・ウダバラパティ

Linda Hamilton
Linda Hamiltonオリジナル
2024-11-02 15:59:301063ブラウズ

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

整数 nums の配列と整数 target を指定すると、合計が target になるように 2 つの数値のインデックスを返します。
各入力には正確に 1 つのソリューションがあり、同じ要素を 2 回使用することはできないと想定できます。
回答は任意の順序で返すことができます。

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)
    }
};

以上が2 つの合計 || DSA || JavaScript ||ムニセカール・ウダバラパティの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。