数组中重复次数最多的元素
来源:互联网 发布:怎么用dede建站 编辑:程序博客网 时间:2024/05/29 11:06
以此开始我博客生涯
-----------------------------------------------------警醒自己
题目:数组中重复次数最多的元素
废话不多说,直接上代码-------
第一种方法:
function getMost(arr){var hash = {};var m = 0; var trueEl;var el;for(var i = 0,len = arr.length; i < len; i++ ) {el = arr[i];hash[el] === undefined ? hash[el] = 1 : (hash[el] ++);if(hash[el] >= m){m = hash[el];trueEl = el; }}return trueEl;};
第二种方法:
function getMost(arr) {if (!arr.length) returnif (arr.length === 1) return 1var res = {}// 遍历数组for (var i=0,l=arr.length;i<l;i++) {if (!res[arr[i]]) {res[arr[i]] = 1;} else {res[arr[i]]++;}}// 遍历 resvar keys = Object.keys(res);console.log(keys);var maxNum = 0, maxEle;for (var i=0,l = keys.length;i<l;i++) {if (res[keys[i]] > maxNum) {maxNum = res[keys[i]];maxEle = keys[i];} return maxEle;}第三种方法:
Array.prototype.getMost = function(){var obj = this.reduce((p,n) =>(p[n]++ ||(p[n] = 1),(p.max=p.max>=p[n]?p.max:p[n]), (p.key=p.max>p[n]?p.key:n), p), {});return 'key: '+ obj.key+ ' len: '+obj.max;}var arr = [1,2,3,4,2,1,4,2,3,5];arr.getMost();第三种方法有个bug,如果最多重复次数的元素有多个,则返回最后一个元素。
阅读全文
0 0
- 数组中重复次数最多的元素
- 数组中重复次数最多的元素
- 找出数组中重复次数最多的元素并打印
- 找出数组中重复次数最多的元素并打印
- 找出数组中重复次数最多的元素并打印
- 求数组中重复次数最多的元素
- 找出整型数组中重复次数最多的元素
- 找出数组中重复次数最多的元素
- 去除数组中重复项,并统计重复出现次数最多的元素及重复次数
- 数组中重复次数最多的数
- 数组中重复次数最多的数字
- 数组中重复元素最多的数
- java 找出n个元素数组中重复次数最多的数(假设出现次数大于n/2)
- 求一个数组中重复元素出现最多值,最大的元素及出现次数,次数相同时,取最大值,优先考虑次数
- 找出数组中重复次数最多的数
- 找出数组中重复次数最多的数
- 如何在数组中找出重复次数最多的数
- 查找数组中重复次数最多的数字
- React Native 第十三天
- 讲座-贝贝-2017.09-26
- Math的用法
- 前端模块化开发 CMD规范 sea.js
- bzoj 5028: 小Z的加油店
- 数组中重复次数最多的元素
- Pandas matplotlib 无法显示中文 Ubuntu16.04
- ROS和Optitrack通信
- 一次爆炸的联考
- js实现鼠标悬停一定时间后触发事件--淘宝例子
- 欢迎使用CSDN-markdown编辑器
- scala单元测试“NoSuchMethodError”的解决办法
- URI 与URL区别
- apktool 反编译注意事项