Leetcode 56.合并区间 JavaScript (Day 6)

javascript 复制代码
var merge = function(intervals) {
        let ans=[];
        intervals.sort((a,b)=>a[0]-b[0]);
        for(const p of intervals){
            const m=ans.length
            if(m&&p[0]<=ans[m-1][1]){
                ans[m-1][1]=Math.max(ans[m-1][1],p[1]);
            }else{
                ans.push(p);
            }
        }
        return ans;
    
};

算法核心:贪心+排序 ,为了方便合并,先将左端点从小到大排序,向右遍历取出子数组,然后用一个新数组ans来存储结果,如果ans数组为空或者要取出来的一个子数组不能合并到ans中已有的数组中的时候,就直接将这个取出子数组push进ans数组,反之,将其与ans中最后一个(因为已经排序了)子数组合并即可,合并一开始我想的是"真"合并用...slice来操作,其实这里的合并说简单点就是更新右端点,看右端点是不变,还是更新为放进来的子数组的右端点,这里用max来比较即可

相关推荐
HjhIron11 小时前
面试常客:字符串算法从入门到进阶
算法·面试
吴佳浩12 小时前
DeepSeek DSpark:Confidence-Scheduled Speculative Decoding 技术解析
人工智能·算法·deepseek
触底反弹14 小时前
🧠 搞懂 Token,才算真正入门大模型——从分词原理到 Embedding 语义实战
javascript·人工智能·算法
vivo互联网技术18 小时前
ICLR 2026 | 基于后验采样的图像恢复方法LearnIR:人脸去阴影、去雾
人工智能·算法·aigc
浮生望19 小时前
JS字符串与回文算法:从包装类到双指针的面试进阶之路
javascript·算法
黄敬峰20 小时前
面试必刷:从JS底层包装类到双指针,彻底搞懂字符串与回文算法
算法
地平线开发者1 天前
J6B vio scenario sample
算法
BothSavage2 天前
Trae远程开发中DeepSeek自定义模型4054错误的排查与修复
算法
小林ixn2 天前
从暴力到KMP:一道题彻底搞懂字符串匹配的前世今生
算法