leetcode(1)-两数之和

题目描述:

  给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。

你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。

 

示例:

给定 nums = [2, 7, 11, 15], target = 9

因为 nums[0] + nums[1] = 2 + 7 = 9
所以返回 [0, 1]

 

代码:

 1 function twoSum(nums: number[], target: number): number[] {
 2     const len:number = nums.length;
 3     let map:any = new Map();
 4     for(let i:number = 0; i < len; i++){
 5         map.set(nums[i],i);
 6     }
 7     for(let i:number = 0; i < len; i++) {
 8         const key:number  = target - nums[i];
 9         if(map.has(key) && map.get(key) !== i) return [i, map.get(key)];
10     }
11     return [];
12 };

 

 

posted @ 2020-11-01 10:00  啊图啊  阅读(50)  评论(0编辑  收藏  举报