当前位置 : 主页 > 编程语言 > python >

1636. 按照频率将数组升序排序

来源:互联网 收集:自由互联 发布时间:2022-09-29
给你一个整数数组 nums ,请你将数组按照每个值的频率 升序 排序。如果有多个值的频率相同,请你按照数值本身将它们 降序 排序。返回排序后的数组。 想法:用一个字典存每个值得

给你一个整数数组 nums ,请你将数组按照每个值的频率 升序 排序。如果有多个值的频率相同,请你按照数值本身将它们 降序 排序。 返回排序后的数组。

想法:用一个字典存每个值得频率,然后用sort排序,传入自定义的key。

class Solution: def frequencySort(self, nums: List[int]) -> List[int]: counts = defaultdict(int) for num in nums: counts[num] += 1 nums.sort(key=(lambda x:(counts[x],-x))) return nums

如果是本地运行需要加上

from collections import defaultdict from typing import List
上一篇:Python房价分析和可视化<anjuke新房>
下一篇:没有了
网友评论