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

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

Linda Hamilton
リリース: 2024-11-02 15:59:30
オリジナル
1077 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート