一、题目描述
给定一个乱序的数组,删除所有的重复元素,使得每个元素只出现一次,并且按照出现的次数从高到低进行排序,相同出现次数按照第一次出现顺序进行先后排序。
二、输入描述
一个数组。
三、输出描述
去重排序后的数组。
四、测试用例
测试用例1:
1、输入
5,5,5,6,6,7
2、输出
5,6,7
3、说明
5 出现了 3 次
6 出现了 2 次
7 出现了 1 次
输出时,先按照频率降序排列。如果频率相同,则根据它们第一次出现的顺序排序。
测试用例2:
1、输入
1,1,1,1,2,3,3,4,4
2、输出
1,3,4,2
3、说明
1 出现了 4 次
3 出现了 2 次
4 出现了 2 次
2 出现了 1 次
输出时,1 排在最前,3 和 4 按照它们第一次出现的顺序排序,最后是 2。
这篇博客介绍了如何使用Java解决华为在线测评(OD)中的数组去重并按出现次数排序的问题。首先,通过使用LinkedHashMap存储每个数字及其出现次数,然后通过自定义排序函数对次数进行降序排列。最后,遍历排序后的LinkedHashMap得到去重并排序后的数组。代码展示和效果验证展示了正确结果为2,4,1,3。"
130115153,5023697,深入解析:外观设计专利,"['专利', '知识产权', '设计', '法律', '工业设计']
订阅专栏 解锁全文
756





