【数据结构与算法】treemap应用 排序
来源:互联网 发布:交换机网络配置 编辑:程序博客网 时间:2024/06/08 00:38
给一个数组,按照出现次数排序,如果出现相同次数,那么按照大小排序。
public static void main(String[] args) {int[] array = {5,10,52,2,2};int[] r = sort(array);for(int i : r){System.out.println(i);}}public static int[] sort(int[] array){int[] r = new int[array.length];int index = 0;Map<Integer, Integer> map = new HashMap<>();for(int i = 0; i < array.length; i++)map.put(array[i], map.getOrDefault(array[i], 0) + 1);TreeMap<Integer, List<Integer>> count = new TreeMap<>();for(Entry<Integer, Integer> entry : map.entrySet()){int c = entry.getValue();if(!count.containsKey(c))count.put(c, new ArrayList<>());count.get(c).add(entry.getKey());}while(!count.isEmpty()){int c = count.lastKey();List<Integer> l = count.get(c);Collections.sort(l);for(int i : l){for(int j = 0; j < c; j++){r[index++] = i;}}count.remove(c);}return r;}
阅读全文
0 0
- 【数据结构与算法】treemap应用 排序
- 【数据结构与算法】排序
- 数据结构与算法 -排序
- 数据结构与算法:排序
- 【数据结构与算法】排序
- [算法与数据结构] 排序
- 数据结构与算法:排序
- 【数据结构与算法】排序算法
- 数据结构与算法排序算法
- 数据结构与算法-----排序算法
- 排序算法与数据结构汇总
- 算法与数据结构--拓扑排序
- 数据结构与算法-快速排序
- 【数据结构与算法】冒泡排序
- 【数据结构与算法】快速排序
- 【数据结构与算法】选择排序
- 【数据结构与算法】堆排序
- 【数据结构与算法】希尔排序
- Docker学习笔记之top,inspect,exec,export命令
- Java面试题 ----- 数组部分
- qt小项目
- 基于MFC的网卡信息查询
- C# Turning
- 【数据结构与算法】treemap应用 排序
- 3389、1433、3306抓鸡原理和工具教程
- MQTT服务器端配置
- Java 拾遗补阙 ----- 继承私有属性
- POJ1084 DLX 摧毁火柴棒
- MFC基于对话框程序启动时隐藏窗口的实现
- tf + android +demo
- 洛谷 1865 A % B Promble 欧拉筛
- 2.7Java多态