2
我需要能夠在int
array
中找到第n個最大數字,我已經有一個linq
語句返回某些內容,但它沒有傳遞已設置的使用案例。該array
是:查找int數組中的第n個最大值
var numbers = new[] { 5, 7, 5, 3, 6, 7, 9 };
我的代碼是:
var result = numbers.GroupBy(x => x)
.OrderByDescending(group => group.Key)
.SkipWhile(group =>
{
n -= group.Count();
return n > 0;
})
.First()
.ToArray();
我不明白爲什麼我沒有收到預期的效果?
result[0] == 9
result[1] == 7
你會得到什麼? – zerkms
結果[0] == 7 結果[1] == 7 – Arnold
什麼'n'?無論如何,你正在跳過'n'的第一個元素,所以對於任何'n> 0',你都不會得到'9'。 – zerkms