这篇文章主要讲解了“python怎么按照频率将数组升序排序”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python怎么按照频率将数组升序排序”吧!
给你一个整数数组 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怎么按照频率将数组升序排序”的内容了,经过本文的学习后,相信大家对python怎么按照频率将数组升序排序这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!