题目
给定一个乱序的数组,删除所有的重复元素,使得每个元素只出现一次,并且按照出现的次数从高到低进行排序,相同出现次数按照第一次出现顺序进行先后排序。
输入描述 一个数组
输出描述 去重排序后的数组
用例
输入
1,3,3,3,2,4,4,4,5
输出
3,4,1,2,5
备注 数组大小不超过100 数组元素值大小不超过100。
from collections import Counter
input_str = input()
nums = list(map(int, input_str.split(',')))
# 使用Counter直接统计频率
frequency_map = Counter(nums)
# 排序:先按频率降序,再按值升序
sorted_nums = sorted(frequency_map, key=lambda x: (-frequency_map[x], x))
# 输出结果
print(','.join(map(str, sorted_nums)))