#1356

Sort Integers by The Number of 1 Bits

newbie · 150 · lc easy +14 · verified · 82.3% accepted · 2,858 likes · top 94%

Description

Given an integer array arr, sort its elements by the count of 1 bits in their binary representation, in ascending order. Break ties by sorting the element values themselves in ascending order. Return the sorted array.

Example 1:

Input: arr = [0,1,2,3,4,5,6,7,8]
Output: [0,1,2,4,8,3,5,6,7]
Explantion: [0] is the only integer with 0 bits.
[1,2,4,8] all have 1 bit.
[3,5,6] have 2 bits.
[7] has 3 bits.
The sorted array by bits is [0,1,2,4,8,3,5,6,7]

Example 2:

Input: arr = [1024,512,256,128,64,32,16,8,4,2,1]
Output: [1,2,4,8,16,32,64,128,256,512,1024]
Explantion: All integers have 1 bit in the binary representation, you should just sort them in ascending order.

Code

1
2
3