Talentd
FleetCode

1636. Sort Array by Increasing Frequency

Easy80.8% acceptance10 companies

Given an array of integers nums, sort the array in increasing order based on the frequency of the values. If multiple values have the same frequency, sort them in decreasing order.

Return the sorted array.

Example 1:

Input: nums = [1,1,2,2,2,3]
Output: [3,1,1,2,2,2]
Explanation: '3' has a frequency of 1, '1' has a frequency of 2, and '2' has a frequency of 3.

Example 2:

Input: nums = [2,3,1,3,2]
Output: [1,3,3,2,2]
Explanation: '2' and '3' both have a frequency of 2, so they are sorted in decreasing order.

Example 3:

Input: nums = [-1,1,-6,4,5,-6,1,4,1]
Output: [5,-1,4,4,-6,-6,1,1,1]

Constraints:

  • 1 <= nums.length <= 100
  • -100 <= nums[i] <= 100

Hints open one at a time

Hint 1
Count the frequency of each value.
Hint 2
Use a custom comparator to compare values by their frequency. If two values have the same frequency, compare their values.
4:11
Still stuck?Read 3 approaches, or watch a walkthrough.
Open solution
Loading editor…
1class Solution:
2 def frequencySort(self, nums: List[int]) -> List[int]:
3
Starter codePython 3Spaces: 4
Examples
Input
[1,1,2,2,2,3]
Input
[2,3,1,3,2]
Input
[-1,1,-6,4,5,-6,1,4,1]
Your code is saved on this device.Solution