如何获取 Int 数组中最常见的值? (C#)
如何使用 C# 获取 Int 数组中最常见的值
例如:数组具有以下值:1, 1, 1, 2
Ans 应该是 1
How to get the most common value in an Int array using C#
eg: Array has the following values: 1, 1, 1, 2
Ans should be 1
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
对于仅值而不是计数,您可以
在第二个上执行 Lambda 版本:
For just the value and not the count, you can do
Lambda version on the second:
一些老式的高效循环:
现在
mostCommonValue
包含最常见的值,而highestCount
包含它出现的次数。Some old fashioned efficient looping:
Now
mostCommonValue
contains the most common value, andhighestCount
contains how many times it occured.我知道这篇文章很旧,但今天有人问我这个问题的反面。
LINQ 分组
临时集合,类似于 Guffa 的:
I know this post is old, but someone asked me the inverse of this question today.
LINQ Grouping
Temp Collection, similar to Guffa's:
也许 O(n log n),但速度很快:
Maybe O(n log n), but fast:
linq 的另一个解决方案:
此解决方案可以处理多个数字出现相同次数的情况:
Yet another solution with linq:
This solution can handle case when several numbers have the same number of occurences: