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来比较即可

相关推荐
爱喝可乐的老王2 分钟前
机器学习监督学习模型----KNN
人工智能·算法·机器学习
WBluuue6 分钟前
AtCoder Beginner Contest 441(ABCDEF)
c++·算法
Remember_99310 分钟前
【LeetCode精选算法】双指针专题一
java·数据结构·算法·leetcode
多米Domi01111 分钟前
0x3f 第36天 外卖8,9,树
数据结构·python·算法·leetcode
jonyleek14 分钟前
开源APS排产系统,出货计划如何成为企业降本增效的关键?
算法·开源·私有化部署·软件开发·生产排产·aps排产系统
hetao173383715 分钟前
2026-01-16~19 hetao1733837 的刷题笔记
c++·笔记·算法
程序员-King.18 分钟前
day153—回溯—子集(LeetCode-78)
算法·leetcode·回溯·递归
MicroTech202524 分钟前
突破C2Q瓶颈,MLGO微算法科技高性能可重构计算机实现量子算法真实级仿真,推动量子仿真进入新阶段
科技·算法·重构
天真小巫30 分钟前
2026.1.19总结
职场和发展
乌萨奇也要立志学C++44 分钟前
【洛谷】搜索初识 回溯剪枝 + 三大枚举题型 + 全排列实现
算法·剪枝