Algorithm
Sort Integers by The Number of 1 Bits
Solution
class Solution:
def sortByBits(self, arr: List[int]) -> List[int]:
def find_weight(num):
weight = 0
mask = 1
while num:
if num & mask:
weight += 1
num ^= mask
mask <<= 1
return weight
arr.sort(key = lambda num: (find_weight(num), num))
return arrTime Complexity
Order N log N
Space Complexity
Order N
