一、题目要求

二、重点难点分析
1.我为什么使用map的函数来解决:因为map可以存放重复的数字,而且可以利用has来判断是否有存在的数字
三、代码分析
1 /** 2 * @param {number[]} nums 3 * @return {number} 4 */ 5 var findRepeatNumber = function(nums) { 6 let map = new Map(); 7 let len = nums.length; 8 9 for( let i =0; i<len; i++){ 10 if( map.has(nums[i])){ 11 return nums[i]; 12 }else{ 13 map.set(nums[i],1); 14 } 15 } 16 return []; 17 };
四、举一反三
1.题目要求

2.重点难点分析
(1)为什么这题类似:因为这道题已知sum(总和),我们可以用sum去减一个数b得出a,在寻找数组里面是否有b,这里我们就可以利用到map的has功能帮我们查找,如果有就【a,b】一起输出,还要记得先把b存进map里面。
3.代码展示
1 /** 2 * @param {number[]} nums 3 * @param {number} target 4 * @return {number[]} 5 */ 6 var twoSum = function(nums, target) { 7 let len = nums.length; 8 let map = new Map(); 9 10 for( let i =0 ; i<len; i++){ 11 if( map.has(target - nums[i])){ 12 return [map.get(target-nums[i]),i]; 13 }else{ 14 map.set(nums[i],i); 15 } 16 } 17 return []; 18 };
浙公网安备 33010602011771号