我正在使用C#编制一个程序,用于计算统计中的变异度量和中心度量。因此,用户输入数字列表,并将数字添加到列表中。我希望程序能够找到列表的模式(如果有),然后返回它。如果有多种模式,我还希望它返回用逗号分隔的模式。
答案 0 :(得分:1)
以下应该有效,它确实非常简单。 (可能会优化¯\ _(ツ)_ /¯)
var items = new[] { 1, 2, 3, 4, 5, 6, 7, 8, 2, 6, 2, 8, 8 };
var grouped = items.GroupBy(i => i).Select(i => new { value = i.Key, count = i.Count() });
var maxCount = grouped.Max(g => g.count);
var mode = grouped.Where(g => g.count == maxCount);