每日一题——LeetCode1051.高度检查器

方法一 sort排序:

创建一个元素和heights一模一样的expect数组 ,将expect数组从小到大进行排序,比较heights和expect相同位置不同的元素个数

javascript 复制代码
var heightChecker = function(heights) {
    var expect = [],count=0
    for(const n of heights){
        expect.push(n)
    }
    expect.sort((a,b)=>a-b)
    for(let i=0;i<heights.length;i++){
        if(heights[i]!=expect[i]) count++
    }
   return count
};

消耗时间和内存起情况:

方法二 计数排序

题目已经说明:1<= 数组长度 <=100,1<= 数组元素值 <=100,我们知道操作的次数不会很大。

为了方便操作,我们创建一个101 长度的数组,每遍历到一个数字,就把该数字当做一个索引,找到对应桶中那个索引的值,递增 1 即可。

javascript 复制代码
var heightChecker = function(heights) {
    let bucket = new Array(101).fill(0);
    for (let i of heights) {
        bucket[i]++;
    }
    let ans = 0;
    for (let i = 1, j = 0; i < bucket.length; i++) {
        while (bucket[i]-- > 0) {
            if (heights[j++] !== i) ans++;
        }
    }
    return ans;
};

消耗时间和内存情况:

相关推荐
明朝百晓生1 分钟前
Deep RL learning[2026/8]
开发语言·javascript·人工智能
用户9385156350728 分钟前
ESLint 代码规范完全指南——从 AST 原理到 flat config 逐行解析
javascript·后端·代码规范
其美杰布-富贵-李1 小时前
08 进阶评估指标与算法特定指标
人工智能·算法
.道阻且长.1 小时前
5.LeetCode算法习题讲解--双指针--有效三角形的个数
算法·leetcode·职场和发展
我是海飞2 小时前
杰理JL703N SSD1306 OLED(128x64) 点阵屏移植说明
单片机·算法·嵌入式·音频·杰理
wabs6662 小时前
关于图论【最短路径之Bellman_ford 算法(单源有限最短路)|卡码网96.城市间货物运输III的思考】
数据结构·算法·图论·卡码网·bellman_ford·单源有限最短路
kyriewen2 小时前
今年裁了16万技术人——但字节前端岗反而涨了23%
前端·javascript·面试
王林不想说话4 小时前
ES6 到 ES2026 全面进阶指南:新特性、原理、示例与工程落地
前端·javascript·面试
WZzz4 小时前
JavaScript 中 this 的「指向」完整教程
javascript
lsylalalala4 小时前
常见的排序算法1
数据结构·算法·排序算法