# [LeetCode]#1636. Sort Array by Increasing Frequency

**Environment: Python 3.8**

**Key technique: Counter, lambda**

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.

**Analysis:**

- Use Counter to provide the frequency of number.
- Sorted it in decreasing order and return it.

**Solution:**

import collectionsclass Solution:

def frequencySort(self, nums):

freq = collections.Counter(nums)

return sorted(nums,key = lambda x : (freq[x], -x))

**Submissions:**

**Reference:**