如何将1636数组按出现频率进行升序排列?

2026-05-16 11:100阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计261个文字,预计阅读时间需要2分钟。

如何将1636数组按出现频率进行升序排列?

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

思路:

1.使用字典统计每个数值出现的频率。

如何将1636数组按出现频率进行升序排列?

2.根据频率和数值进行排序。

3.返回排序后的数组。

给你一个整数数组 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

本文共计261个文字,预计阅读时间需要2分钟。

如何将1636数组按出现频率进行升序排列?

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

思路:

1.使用字典统计每个数值出现的频率。

如何将1636数组按出现频率进行升序排列?

2.根据频率和数值进行排序。

3.返回排序后的数组。

给你一个整数数组 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