ホームページ >ウェブフロントエンド >jsチュートリアル >2 つの合計 || DSA || JavaScript ||ムニセカール・ウダバラパティ
整数 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.
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 サイトの他の関連記事を参照してください。