罗湖中心区做网站,抽奖的网站怎么做的,wordpress小工具有哪些,大学生网站设计作品成品代码方法一 桶数组计数法
又要保存整数的数值和他出现的频次#xff0c;那么碰到一个整数num就让res[num]#xff0c;那么循环res数组#xff0c;如果res[i]0则代表i没有在arr中出现过#xff0c;res[i]n则代表i在arr中出现n次
因为题目要求只返回最大的幸运数#xff0c;所… 方法一 桶数组计数法
又要保存整数的数值和他出现的频次那么碰到一个整数num就让res[num]那么循环res数组如果res[i]0则代表i没有在arr中出现过res[i]n则代表i在arr中出现n次
因为题目要求只返回最大的幸运数所以我们可以倒序遍历res数组。遇见第一个幸运数就返回。
var findLucky function(arr) {let maxMath.max(...arr)let resnew Array(max1).fill(0)for(let num of arr){res[num]}for(let ires.length-1;i1;i--){if(res[i]i) return i}return -1
};
消耗时间和内存情况 方法二 哈希Map
使用Map集合的has()和set()方法可以把arr中的数值和出现次数映射成键值对形式然后遍历Map集合找键和值相等的元素并用max记录最大值返回max
var findLucky function(arr) {let map new Map()for(let num of arr){if(map.has(num)){map.set(num,map.get(num)1)}else{map.set(num,1)}}let max-1for(let entry of map){if(entry[0]entry[1] entry[0]max){maxentry[0]}}return max
};
消耗时间和内存情况