javascript怎么求众数

藏色散人
发布: 2022-01-19 15:12:04
原创
2332 人浏览过

javascript求众数的方法:1、新建一个数组;2、把每个值出现的次数都统计起来;3、遍历这个数组,找到众数即可。

javascript怎么求众数

本文操作环境:Windows7系统、javascript1.8.5版、DELL G3电脑

javascript怎么求众数?

LeetCode之求众数——JavaScript实现

求众数

给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。

你可以假设数组是非空的,并且给定的数组总是存在众数。

示例 1:

输入: [3,2,3]
输出: 3

示例 2:

输入: [2,2,1,1,1,2,2]
输出: 2

我的想法:
新建一个数组,把每个值出现的次数都统计起来,再遍历这个数组,找到众数。

const majorityElement = function (nums) { let arry = [] for (let i in nums) { if (!arry[nums[i]]) { arry[nums[i]] = !!arry[nums[i]] + 1 }else { arry[nums[i]] ++ } } for(let i in arry){ if(arry[i] > nums.length/2){ return i } } };
登录后复制

leetcode最快的解法:

解题思路:
用一个计数器和中间值,先让中间值等于数组的第一位,在一次遍历的过程中,遇到相同的就让计数器加一,不同就减一,直到减到0时换成当前遍历到的值,遍历完成后返回中间值,即是众数。【推荐学习:《js基础教程》】

感觉很奇妙,有一种抵消的想法在里面

var majorityElement = function(nums) { let count = 0; let majority = nums[0]; for (let i = 0; i < nums.length; i++) { if (count === 0) { majority = nums[i]; } if (majority === nums[i]) { count++; } else { count--; } } return majority; };
登录后复制

以上是javascript怎么求众数的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!