魔法师 (@Constanline)Leetcode每日一题 —— 1356. 根据数字二进制下 1 的数目排序 中发帖

思路 
依然是简单题,自定义排序规则即可。
代码
class Solution {
public int[] sortByBits(int[] arr) {
return Arrays.stream(arr).boxed().sorted((a, b) -> {
int ba = Integer.bitCount(a);
int bb = Integer.bitCount(b);
return ba == bb ? Integer.compare(a, b) : Integer.compare(ba, bb);
}).mapToInt(Integer::intValue).toArray();
}
}

优化思路
封箱拆箱显然比较耗时,而且每个数都多次计算了bi...