LeetCode56☞合并区间

news/2025/3/19 19:51:24/

关联LeetCode题号56

本题特点
  • 贪心 
本题思路
  1. 将二维数组排序按照左边界排序。排序后,右边界的大小成为找到局部最大值的关键。
  2. 由题意合并区间可知,应该取数组的并集,局部最优解推出全局最优解,每次找到局部最大的范围,整体就会合并成一个大区间
Python写法
python">def merge(self, intervals):result = []if len(intervals) == 0:return result  # 区间集合为空直接返回intervals.sort(key=lambda x: x[0])  # 按照区间的左边界进行排序result.append(intervals[0])  # 第一个区间可以直接放入结果集中for i in range(1, len(intervals)):if result[-1][1] >= intervals[i][0]:  # 发现重叠区间# 合并区间,只需要更新结果集最后一个区间的右边界,因为根据排序,左边界已经是最小的result[-1][1] = max(result[-1][1], intervals[i][1])else:result.append(intervals[i])  # 区间不重叠return result
Java写法
java">public int[][] merge(int[][] intervals) {if (intervals.length == 0){return intervals;}LinkedList<int[]> res =  new LinkedList<>();Arrays.sort(intervals, Comparator.comparingInt(x->x[0]));res.add(intervals[0]);for(int i=1; i<intervals.length; i++){if (res.getLast()[1] >= intervals[i][0] ){res.getLast()[1] = Math.max(res.getLast()[1], intervals[i][1]);}else{res.add(intervals[i]);}}return res.toArray(new int[res.size()][]);}

关于Arrays ArrayList LinkedList 区别详见下面文章Java数据类型 Arrays VS ArraysList VS LikedList 解析-CSDN博客


http://www.ppmy.cn/news/1580405.html

相关文章

【软件工程】03_软件需求分析

3.1 系统分析 1. 系统分析概述 系统分析是一组统称为计算机系统工程的活动。它着眼于所有的系统元素&#xff0c;而非仅仅局限于软件。系统分析主要探索软件项目的目标、市场预期、主要的技术指标等&#xff0c;其目的在于帮助决策者做出是否进行软件项目立项的决定。 2. 可行…

Matlab 汽车二自由度转弯模型

1、内容简介 Matlab 187-汽车二自由度转弯模型 可以交流、咨询、答疑 2、内容说明 略 摘 要 本文前一部分提出了侧偏角和横摆角速度作为参数。描述了车辆运动的运动状态&#xff0c;其中文中使用的参考模型是二自由度汽车模型。汽车速度被认为是建立基于H.B.Pacejka的轮胎模…

UE5与U3D引擎对比分析

Unreal Engine 5&#xff08;UE5&#xff09;和Unity 3D&#xff08;U3D&#xff09;是两款主流的游戏引擎&#xff0c;适用于不同类型的项目开发。以下是它们的主要区别&#xff0c;分点整理&#xff1a; 1. 核心定位 UE5&#xff1a; 主打3A级高画质项目&#xff08;如主机/P…

A SURVEY ON POST-TRAINING OF LARGE LANGUAGE MODELS——大型语言模型的训练后优化综述——第8部分——数据

8 数据集 后训练技术被精心设计以提高LLMs对特定领域或任务的适应性&#xff0c;而数据集则是这一优化过程的基石。对先前研究[457, 82]的仔细审查强调了数据的质量、多样性和相关性如何深刻影响模型的有效性&#xff0c;并经常决定后训练努力的成功与否。为了阐明数据集在此背…

leetcode 75.颜色分类(荷兰国旗问题)

题目描述 题目分析 本题是经典的「荷兰国旗问题」&#xff0c;由计算机科学家 Edsger W. Dijkstra 首先提出。 要想单独解决这道题本身还是很简单的&#xff0c;统计0、1、2的数量然后按顺序赋值&#xff0c;或者手写一个冒泡排序&#xff0c;whatever。 但是在这一题中我们主…

台式机电脑组装---电源

台式机电脑组装—电源 22 33 主板供电是聚集了12V&#xff0c;5V,3.3V的24pin CPU供电的话主要是12V的44pin供电 44pin合并之后&#xff0c;就是8pin 55 SATA硬盘会使用饼io口取电&#xff0c;从电源获取12v,5v,3.3v的电 33

3--网络安全架构概述

从青铜到王者&#xff1a;华为网络安全架构全景解读 前言&#xff1a;黑客都开始内卷了&#xff0c;你的网络安全还在裸奔吗&#xff1f; “从前黑客攻击是为了炫技&#xff0c;现在攻击是为了还房贷” —— 某不愿透露姓名的白帽子 当网络攻击从"技术宅的恶作剧"变…

面试redis常被问到的面试题含答案

什么是Redis&#xff1f;它的特点是什么&#xff1f; Redis是一个开源的内存数据库&#xff0c;用于存储数据并支持多种数据结构&#xff08;如字符串、哈希、列表、集合、有序集合等&#xff09;。其特点包括高性能、支持持久化、数据结构丰富、原子性操作、支持事务等。 Red…