<分区>
我有以下数组:
var arr = new[] { 1, 1, 2, 2, 4 };
现在我想按频率对这个数组进行排序:
有频率的数字子集是1[4]
频率为 2 的数字子集是 [1,2]
然后我们按自然顺序对具有相同频率的元素的每个子集进行排序,得到 [1,3,4,2,2]
为此,我编写了以下 linq 查询,但我卡住了
var line in arr.GroupBy(n => n)
// Order by the frequency of each group of numbers
.OrderBy(g => g.Count())
// Then by the natural order of each number
.ThenBy(g => g.Key)
.??