lc-go/solutions/13/q1356/solution.go
2026-02-26 17:18:02 +09:00

26 lines
313 B
Go

package q1356
import "slices"
func count1s(n int) int {
c := 0
for n > 0 {
c++
n = n & (n - 1)
}
return c
}
func sortByBits(arr []int) []int {
for i := range arr {
arr[i] += count1s(arr[i]) << 16
}
slices.Sort(arr)
for i := range arr {
arr[i] &= 1<<16 - 1
}
return arr
}
var _ = sortByBits