Rumah  >  Artikel  >  hujung hadapan web  >  Jumlah Dua || DSA || JavaScript || Oleh Munisekhar Udavalapati

Jumlah Dua || DSA || JavaScript || Oleh Munisekhar Udavalapati

Linda Hamilton
Linda Hamiltonasal
2024-11-02 15:59:301008semak imbas

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

Memandangkan tatasusunan nombor integer dan sasaran integer, kembalikan indeks bagi kedua-dua nombor itu supaya ia ditambah kepada sasaran.
Anda mungkin menganggap bahawa setiap input akan mempunyai satu penyelesaian dan anda tidak boleh menggunakan elemen yang sama dua kali.
Anda boleh mengembalikan jawapan dalam sebarang susunan.

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

Susulan: Bolehkah anda menghasilkan algoritma yang kurang daripada kerumitan masa O(n2)?

O(n)

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

Atas ialah kandungan terperinci Jumlah Dua || DSA || JavaScript || Oleh Munisekhar Udavalapati. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn