js返回数组中重复数字及主要元素整合 | 您所在的位置:网站首页 › 数组map方法判断重复元素 › js返回数组中重复数字及主要元素整合 |
实现思路 :通过map来完成,遍历数组,使用map.set(key,value)将原数组的值放入哈希表中,再放置前,使用map.has(key)来判断之前哈希表中是否存有该数字。若有,则直接返回该重复元素。反之则继续set。若全部遍历之后无返回,则该数组里面没有重复数字,返回null。 实现代码: let map = new Map(); //假设遍历的数组名为nums for(let i of nums) { if(map.has(i)) return i; map.set(i,1) } return null;根据上述材料,leetcode的主要元素题,也可以照猫画虎通过,代码如下: const halfLength = nums.length/2; if(nums.length == 1) { return nums[0] } let map = new Map(); for(let i of nums) { if(map.has(i)) { let newValue = map.get(i) + 1; if(newValue > halfLength) return i; map.set(i,newValue); }else { map.set(i,1) } } return -1; |
CopyRight 2018-2019 实验室设备网 版权所有 |