SortByBits.py
Published at 2022-03-12
/**
* @param {number[]} arr
* @return {number[]}
*/
var sortByBits = function(arr) {
const count=(num)=>{
let sum = 0;
while(num){
sum += (num & 1);
num = num >> 1;
}
return sum;
}
const sorting =(a, b)=>{
const bitA = count(a);
const bitB = count(b);
if(bitA === bitB){
if(a > b) return 1;
if(a === b) return 0;
if(a < b) return -1;
}else{
if(bitA > bitB) return 1;
if(bitA === bitB) return 0;
if(bitA < bitB) return -1;
}
}
return arr.sort((a, b)=>sorting(a, b));
};