当前位置: 首页 > 面试题库 >

获取数组中出现次数最多的元素

范甫
2023-03-14
问题内容

我正在寻找一种确定JavaScript数组中哪个元素的出现次数最多的优雅方法(mode)。

例如,在

['pear', 'apple', 'orange', 'apple']

'apple'元素是最常见的元素。


问题答案:

这只是模式。这是一个 快速的,未优化的 解决方案。它应该是O(n)。

function mode(array)
{
    if(array.length == 0)
        return null;
    var modeMap = {};
    var maxEl = array[0], maxCount = 1;
    for(var i = 0; i < array.length; i++)
    {
        var el = array[i];
        if(modeMap[el] == null)
            modeMap[el] = 1;
        else
            modeMap[el]++;  
        if(modeMap[el] > maxCount)
        {
            maxEl = el;
            maxCount = modeMap[el];
        }
    }
    return maxEl;
}


 类似资料:
  • 本文向大家介绍手写代码:统计排序数组中出现次数最多的元素出现的次数?相关面试题,主要包含被问及手写代码:统计排序数组中出现次数最多的元素出现的次数?时的应答技巧和注意事项,需要的朋友参考一下 参考回答:      

  • 下面的表记录了交易的卖家和买家的ID,我想确定参与交易次数最多的用户以及该用户参与的交易次数。 所需输出如下: 因为用户2总共有3笔交易(1笔作为卖方,2笔作为买方),用户4也有3笔交易(2笔作为卖方,1笔作为买方)。可以假设一个用户不可能是同一交易中的买方和卖方,并且每个买方-卖方组合不是重复的。 什么SQL查询会让我得到这个?我在网上找不到任何类似的问题。提前道谢!

  • 问题 怎样找出一个序列中出现次数最多的元素呢? 解决方案 collections.Counter 类就是专门为这类问题而设计的, 它甚至有一个有用的 most_common() 方法直接给了你答案。 为了演示,先假设你有一个单词列表并且想找出哪个单词出现频率最高。你可以这样做: words = [ 'look', 'into', 'my', 'eyes', 'look', 'into',

  • 问题内容: 我正在尝试为多维数组中的特定键选择最大值。我无法“找到”有问题的钥匙… 因此,数组(比我在这里发布的要冗长得多) 我试图在整个数组中找到最大的“ dnum”值,因此在此示例中,$ max =2。我知道max函数允许我执行此操作,但是我不确定如何引用dnum。元素而不将整个对象放入foreach循环中,如果我这样做了,那么max不会成为要使用的函数,对吗? 因此,我无法完全做到这一点:

  • 我被问到一个面试问题,要求我返回数组中重复次数最多的数字,例如,{1,1,2,3,4}返回1。 我首先在hashtable中提出了一种方法,它要求空间复杂度O(n)。然后我说先对数组排序,然后遍历它,然后我们就可以找到数字了。 有什么优化吗? 谢了。

  • 问题内容: 在Javascript中,我试图获取数字值的初始数组并计算其中的元素。理想情况下,结果将是两个新数组,第一个数组指定每个唯一元素,第二个数组包含每个元素出现的次数。但是,我愿意接受有关输出格式的建议。 例如,如果初始数组为: 然后将创建两个新的数组。第一个将包含每个唯一元素的名称: 第二个将包含元素在初始数组中出现的次数: 因为数字5在初始数组中出现3次,所以数字2出现5次,而9和4都