好的,所以我刚刚开始考虑如何为 Paint.NET 实现一个新的图形插件,我需要知道如何在二维整数数组中找到最常见的整数。是否有内置的 C# 方法来执行此操作?或者,有没有人有一个巧妙的方法来做到这一点?
该数组将如下所示:
300 300 300 300 300 300 300
0 150 300 300 300 300 300
0 0 150 300 300 300 300
0 0 0 0 300 300 300
0 0 0 0 150 300 300
0 0 0 0 0 150 300
0 0 0 0 0 0 300
我需要知道 300 是数组中最常见的数字。如果没有“最常见”,则只需返回中心数(数组尺寸总是奇数 x 奇数)0。
我将使用“蛮力”算法来实现这一点,除非您的专家可以更快地想出一些东西。
任何帮助将不胜感激。
谢谢!
编辑:更多信息...
这些值几乎总是非常多样化(比我的示例数组更多样化)。这些值将在 0-360 的范围内。根据算法的速度,数组的大小将是 5x5 到大约 17x17。结果将为大图像中的每个像素计算一次……所以越快越好。;)