1
A
回答
4
[1,5,4,6,4,1,4,5].group_by {|x| x}.sort_by {|x,list| [-list.size,x]}.map(&:first)
=> [4,1,5,6]
這樣呢?
0
對整個列表進行迭代以構建一個映射item -> number of times
的散列,只需要對列表中的所有元素進行一次訪問,那麼使用散列的操作將是恆定時間,因此O(n)似乎並不昂貴。
3
的Array#sort
方法有一個可選的謂詞來比較兩個元素,所以...
list.sort { |a, b| a.popularity <=> b.popularity }
爲了消除重複,使用Array#uniq
。
list.uniq
地膠在一起,
list = list.sort { |a, b| a.popularity <=> b.popularity }.unique
或者乾脆
list.sort! { |a, b| a.popularity <=> b.popularity }.uniq!
0
uniq方法需要一個塊,因此您可以指定對象的哪個「屬性」必須是uniq。
new_list = list.sort_by{|el| el.popularity}.uniq{|el| el.popularity}
0
大多數這些問題的答案並沒有爲我工作,除了格倫麥當勞(直到我張貼了這個答案) 我找到了答案,以我自己的問題在其他地方像這樣
list = [2,1,4,4,4,1] #for example
count = Hash.new(0)
list.each {|element| count[element] += 1} #or some other parameter than element
list = list.uniq.sort {|x,y| count[y] <=> count[x]}
相關問題
- 1. Ruby排序和刪除數組中的重複項
- 2. 合併列表,無需排序,不會消除重複項
- 3. PHP - 排序和刪除重複?
- 4. 重複和排序
- 5. Labview:去除負數和重複項後的1D數組排序
- 6. 如何在Perl中同時刪除重複項和排序?
- 7. 在一排消除重複的話
- 8. 使用謂詞對核心數據進行排序以消除重複項
- 9. 消除maven依賴項重複
- 10. 消除數組中的重複項(JSONiq)
- 11. 從Kibana儀表板消除重複項
- 12. Excel VBA - 消除連續的重複項
- 13. 消除列表中的重複項
- 14. 如何消除sql中的重複項?
- 15. 消除數組c中的重複項#
- 16. 消除SQL查詢中的重複項
- 17. C#group by以消除重複項
- 18. 消除SQL查詢中的重複項
- 19. 用於排序和重命名文件的Python腳本 - 刪除重複項
- 20. Ruby/Mongodb排序項降序
- 21. 消除重複值
- 22. 優化重新排序和重複刪除多維數組
- 23. 優雅的方法來排序,使唯一和消除重複數組
- 24. 取消排序項
- 25. SQL刪除重複的排序
- 26. 排序以及刪除重複
- 27. 合併排序刪除重複
- 28. 從排序數組中刪除重複
- 29. 刪除重複內側插入排序
- 30. 從排序的字符數組中刪除重複項