https://leetcode.com/problems/sort-integers-by-the-number-of-1-bits/description/ Easy

Решение

class Solution {
    fun sortByBits(arr: IntArray): IntArray {
        val n = arr.size
        val keys = IntArray(n)
        var i = 0
        while (i < n) {
            val v = arr[i]
            keys[i] = (Integer.bitCount(v) shl 16) or v
            i++
        }
        java.util.Arrays.sort(keys)
        i = 0
        while (i < n) {
            arr[i] = keys[i] and 0xffff
            i++
        }
        return arr
    }
}