-3
如果兩個號碼具有相同的平均得分,以較低的ID數量將打印的第一如果兩個號碼具有相同的平均得分,以較低的ID數量將打印的第一
Input
========
4
1000 8
2000 8
2000 10
1000 9
Output
=========
2000
1000
可能有人幫助我;嘗試了Enumerable#chunk並且沒有幫助。
如果兩個號碼具有相同的平均得分,以較低的ID數量將打印的第一如果兩個號碼具有相同的平均得分,以較低的ID數量將打印的第一
Input
========
4
1000 8
2000 8
2000 10
1000 9
Output
=========
2000
1000
可能有人幫助我;嘗試了Enumerable#chunk並且沒有幫助。
input = %w|4
1000 8
2000 8
2000 10
1000 9|
count, *values = input
values.take(2 * count) # to make use of count
.each_slice(2) # id, score
.group_by(&:pop) # by same average score
.values # ids
.select { |e| e.count > 1 } # not singles
.map { |e| e.flatten.sort_by { |e| -e.to_i } } # sort
#⇒ ["2000", "1000"]
請您詳細說明。你只需要一個相同的號碼? – rameez
輸入STDIN的第一行包含一個整數(N),它告訴我們輸入中還有多少行。隨後的N行中的每一行都包含兩個整數,它們是分別由空格分隔的數字和值。 –
你可以選擇每一行中的第一個整數,並添加到一個Set,當進程結束時它將只有唯一的值,如果這是你想要的。你可以查看文檔[here](http://ruby-doc.org/stdlib-2.4.1/libdoc/set/rdoc/Set.html) – rameez