 # Sort Integers by The Number of 1 Bits

Easy
19
1
36.7% Acceptance

In this lab, you will be given an integer array `arr` and your task is to sort the integers in the array in ascending order based on the number of `1`'s in their binary representation. In case two or more integers have the same number of `1`'s, you have to sort them in ascending order.

To achieve this, you need to implement the function `sortByBits(arr)` that takes an array of integers as input and returns a new sorted array based on the mentioned conditions.

## Examples:

### Example 1

Input: arr = [0,1,2,3,4,5,6,7,8] Output: [0,1,2,4,8,3,5,6,7] Explanation:  is the only integer with 0 bits. [1,2,4,8] all have 1 bit. [3,5,6] have 2 bits.  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] Explanation: All integers have 1 bit in the binary representation, you should just sort them in ascending order.

## Constraints:

• `1 <= arr.length <= 500`
• `0 <= arr[i] <= 10^4`

Now, after understanding the problem statement and conditions, you need to work on the following challenges:

1. Export the `sortByBits` function
2. Implement the `sortByBits` function correctly