当前位置: 首页 > news >正文

力扣热题100_普通数组_56_合并区间

文章目录

  • 题目链接
  • 解题思路
  • 解题代码


题目链接

56. 合并区间

以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。

示例 1:

输入:intervals = [[1,3],[2,6],[8,10],[15,18]]
输出:[[1,6],[8,10],[15,18]]
解释:区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].
示例 2:

输入:intervals = [[1,4],[4,5]]
输出:[[1,5]]
解释:区间 [1,4] 和 [4,5] 可被视为重叠区间。

解题思路

排序 + 贪心
1.初始化定义ret数组(作为返回值)、intervals做升序便于后续排序处理、将intervals[0]第一个数组提取出来,分别做起始值及结束值
2.for i 循环遍历 intervals数组长度的值
2(1).当前i的起始值 大于 之前定义的end,
2(2).保留之前起始值及结束值至ret数组里,
2(3).当前i的起始值重新赋值给start
3.之前结束值及当前i的结束值取其最大值,重新赋值给end
4.循环遍历结束,将当前起始值及结束值保存至ret数组里

解题代码

class Solution:def merge(self, intervals):ret = []intervals.sort()start,end = intervals[0]for i in intervals:if i[0] > end:ret.append([start,end])start = i[0]end = max(end, i[1])ret.append([start,end])return ret
http://www.lryc.cn/news/304985.html

相关文章:

  • Springcloud OpenFeign 的实现(二)
  • [C++]智能指针用法
  • 六、行列式基本知识
  • 中断系统(详解与使用)
  • uniapp开发微信小程序跳转到另一个小程序中
  • chatGPT 使用随想
  • unity Aaimation Rigging使用多个约束导致部分约束失去作用
  • 什么是ChatGPT
  • 当我们浪费时我们在浪费什么
  • 一文搞懂TCP三次握手与四次挥手
  • FairyGUI × Cocos Creator 3.7.3 引入报错解决
  • 网络原理 - HTTP/HTTPS(5)
  • 设计模式——抽象工厂模式
  • 详解编译和链接!
  • 力扣226 翻转二叉树 Java版本
  • 免费的数据恢复软件哪个好?这10个数据恢复软件可以试试
  • 力扣2476二叉搜索树最近节点查询
  • 板块一 Servlet编程:第六节 HttpSession对象全解 来自【汤米尼克的JAVAEE全套教程专栏】
  • 后端设计PNR一点总结
  • BI 数据分析,数据库,Office,可视化,数据仓库
  • 汽车信息安全--S32K3的HSE如何与App Core通信(1)?
  • arcgisPro制图输出
  • 产品化Chatgpt所面临的五大技术挑战
  • 8.qt5使用opencv的库函数打开图片
  • 学习 python的第四天,顺便分享两首歌:we don‘ talk anymore,You ‘re Still The One
  • uniapp:APP端webview拦截H5页面跳转,华为市场发布需要限制webview的H5页面跳转
  • [HTML]Web前端开发技术28(HTML5、CSS3、JavaScript )JavaScript基础——喵喵画网页
  • 计算机网络实验六 OSPF
  • 亿道丨三防平板丨加固平板丨为零售业提供四大优势
  • RK3568平台开发系列讲解(Linux系统篇)SPI 客户端通信