📌 📄 内容摘要:
魔法师 (@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...
────────── 链接信息 ──────────
🔗 论坛链接: linux.do
📎 访问地址: https://linux.do/t/topic/1643883/1
─────────────────────────────
📢 来源:LINUX DO