每日一题——LeetCode1356.根据数字二进制下1的数目排序

方法一 重写sort排序

按照二进制中1的数量排序,那么就要把每个数字的二进制形式中1的数目统计出来,

sort排序中两个参数a、b,return a-b就是按照数值大小排序,return countOnes(a)-countOnes(b)

就是按照二进制中1的数量来排序。

javascript 复制代码
var sortByBits = function(arr) {
    function countOnes(num) {
        let count = 0; // 初始化为0
        while (num !== 0) {
            if ((num & 1) === 1) { // 判断最低位是否为1
                count++; // 如果是则计数加1
            }
            num >>= 1; // 右移一位,相当于除2操作
    }
        return count;
    }

    arr.sort((a,b)=>{
        let res=countOnes(a)-countOnes(b)
        return  res===0?a-b:res
    })
    return arr
};

消耗时间和内存情况:

相关推荐
CoovallyAIHub5 分钟前
MSD-DETR:面向机车弹簧检测的可变形注意力Detection Transformer
算法·架构
|晴 天|5 分钟前
我如何用Vue 3打造一个现代化个人博客系统(性能提升52%)
前端·javascript·vue.js
CoovallyAIHub10 分钟前
不改权重、不用训练!BEM用背景记忆抑制固定摄像头误检,YOLO/RT-DETR全系有效
算法·架构·github
风止何安啊13 分钟前
网页都知道要双向握手才加载!从 URL 到页面渲染,单向喜欢连 DNS 都解析不通
前端·javascript·面试
Struggle_975514 分钟前
算法知识-从递归入手三维动态规划
算法·动态规划
GISer_Jing20 分钟前
LangChain.js + LangGraph.js 前端AI开发实战指南
前端·javascript·langchain
yuan1999720 分钟前
使用模糊逻辑算法进行路径规划(MATLAB实现)
开发语言·算法·matlab
不才小强23 分钟前
线性表详解:顺序与链式存储
数据结构·算法
CoovallyAIHub24 分钟前
上交+阿里 | Interactive ASR:Agent框架做语音识别交互纠错,1轮交互语义错误率降57%
算法·架构·github
木心术125 分钟前
TypeScript实战进阶:从基础类型到高级类型编程
javascript·ubuntu·typescript