如何找到阵列的模式(最常使用的元素)?

puretppc

这是我的数组:

int myArray = new int[5];

myArray[0] = 1;
myArray[1] = 1;
myArray[2] = 1;
myArray[3] = 3;
myArray[4] = 5;

如果我想让程序找到该阵列的模式,我该写些什么?

迈克尔·刘

这是LINQ解决方案:

int mode = myArray
    .GroupBy(x => x)
    .OrderByDescending(g => g.Count())
    .First() // throws InvalidOperationException if myArray is empty
    .Key;

myArray将按值对元素进行分组,按每个组中的值数对组进行排序,然后获取第一个组的值。如果存在多个模式,则采用的任何一种先发生(具有最低的索引)myArray

如果可能有多个模式,而您又需要所有这些模式,则可以改用此变体:

var groups = myArray
    .GroupBy(x => x)
    .Select(g => new { Value = g.Key, Count = g.Count() })
    .ToList(); // materialize the query to avoid evaluating it twice below
int maxCount = groups.Max(g => g.Count); // throws InvalidOperationException if myArray is empty
IEnumerable<int> modes = groups
    .Where(g => g.Count == maxCount)
    .Select(g => g.Value);

这将按myArray对元素进行分组,查找任何组中的最大值数目,并获取具有该最大值数目的每个组的值。

如果myArray非常大的,那么第二个版本(这是O(n))可能会比第一版本快(这是O(n log n)的,由于排序)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何找到数组的模式(最常使用的元素)?

来自分类Dev

如何在numpy ndarray中找到最常使用的字符串元素?

来自分类Dev

如何在numpy ndarray中找到最常使用的字符串元素?

来自分类Dev

如何在 Java 中使用 Map(或 Set ?)找到最常见的元素?

来自分类Dev

如何在列表中找到几个最常见的元素

来自分类Dev

如何使用熊猫在列表中找到最常出现的物品

来自分类Dev

如何使用python找到最常见的集合?

来自分类Dev

如何找到最常出现的数字

来自分类Dev

如何找到特定的html元素模式

来自分类Dev

如何找到列表中最常见元素的百分比?

来自分类Dev

如何在多维数组的每一行中找到最常出现的元素?

来自分类Dev

如何找到最常用的内存区域?

来自分类Dev

在数组C ++中找到最常出现的元素

来自分类Dev

在Spark数据帧中汇总模式(最常见的元素)

来自分类Dev

使用c ++的数组中最常出现的元素?

来自分类Dev

如何在数组中找到第二频繁的元素?我发现最常见的元素请修改没有任何循环

来自分类Dev

如何对列表中的元素使用模式匹配?

来自分类Dev

如何找到列表中最常见的数字组合?

来自分类Dev

如何找到具有最常出现的属性的行?

来自分类Dev

如何在多个栏中找到最常见的值?

来自分类Dev

如何找到字符串中最常见的部分?

来自分类Dev

如何在passwd文件中找到最常用的名称

来自分类Dev

如何找到抛硬币中最常见的头长?

来自分类Dev

如何使用Selenium和Python在元素内部找到元素?

来自分类Dev

如何使用Doctrine获得最常用的标签?

来自分类Dev

如何使用Pattern和Matcher类找到模式?

来自分类Dev

如何使用模式匹配找到重复的字符串?

来自分类Dev

如何使用cut在给定模式后找到单词?

来自分类Dev

如何使用文件中找到的模式值设置变量

Related 相关文章

  1. 1

    如何找到数组的模式(最常使用的元素)?

  2. 2

    如何在numpy ndarray中找到最常使用的字符串元素?

  3. 3

    如何在numpy ndarray中找到最常使用的字符串元素?

  4. 4

    如何在 Java 中使用 Map(或 Set ?)找到最常见的元素?

  5. 5

    如何在列表中找到几个最常见的元素

  6. 6

    如何使用熊猫在列表中找到最常出现的物品

  7. 7

    如何使用python找到最常见的集合?

  8. 8

    如何找到最常出现的数字

  9. 9

    如何找到特定的html元素模式

  10. 10

    如何找到列表中最常见元素的百分比?

  11. 11

    如何在多维数组的每一行中找到最常出现的元素?

  12. 12

    如何找到最常用的内存区域?

  13. 13

    在数组C ++中找到最常出现的元素

  14. 14

    在Spark数据帧中汇总模式(最常见的元素)

  15. 15

    使用c ++的数组中最常出现的元素?

  16. 16

    如何在数组中找到第二频繁的元素?我发现最常见的元素请修改没有任何循环

  17. 17

    如何对列表中的元素使用模式匹配?

  18. 18

    如何找到列表中最常见的数字组合?

  19. 19

    如何找到具有最常出现的属性的行?

  20. 20

    如何在多个栏中找到最常见的值?

  21. 21

    如何找到字符串中最常见的部分?

  22. 22

    如何在passwd文件中找到最常用的名称

  23. 23

    如何找到抛硬币中最常见的头长?

  24. 24

    如何使用Selenium和Python在元素内部找到元素?

  25. 25

    如何使用Doctrine获得最常用的标签?

  26. 26

    如何使用Pattern和Matcher类找到模式?

  27. 27

    如何使用模式匹配找到重复的字符串?

  28. 28

    如何使用cut在给定模式后找到单词?

  29. 29

    如何使用文件中找到的模式值设置变量

热门标签

归档