【发布时间】:2019-07-30 03:02:28
【问题描述】:
我得到了一个数字数组,并且应该返回最大最频繁的数字。
比如数组是[4, 1, 4, 3, 2],那么我需要返回4;如果数组是[3, 3, 3],那么我需要返回3。
我有一个可行的解决方案:
(Counter(arr).most_common(1)[0][0])
但我想在不使用任何库的情况下解决这个问题。
【问题讨论】:
-
您能否指出您在不使用库的情况下尝试过的方法?
-
最大和最常见是什么意思?哪个最重要?例如为 [6,4,4,4,2,2,1] 提供所需的输出。如果你只想要最大的,为什么不直接
max? -
@ted for [6,4,4,4,2,2,1] 你会得到 4
-
所以你的意思是它是最常见的,如果有几个有这个计数,它们中最大的?
-
(Counter(a).most_common(1)[0][0])(虽然不正确)是一个传统的 Python 解决方案(没有库)。Counter是核心 Python 发行版的一部分。如果你想看看它是如何工作的,use the source, Luke.