Leetcode 56 合并区间

news/2024/11/25 23:12:36/

Leetcode 56 合并区间

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/merge-intervals/description

博主Github:https://github.com/GDUT-Rp/LeetCode

题目:

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

示例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 <= intervals.length <= 1 0 4 10^4 104
  • intervals[i].length == 2
  • 0 <= starti <= endi <= 1 0 4 10^4 104

解题思路:

方法一:排序

先排序,逐个过,有交集就更新,没有交集就可以加到答案去了

Golang

func merge(intervals [][]int) [][]int {if len(intervals) == 0 {return intervals}// 排序sort.SliceStable(intervals, func(i, j int) bool {return intervals[i][0] < intervals[j][0]})var ans [][]intpre := intervals[0]for i := 1; i < len(intervals); i++ {// 判断交集if intervals[i][0] <= pre[1] {// max 是为了 [1, 4] [2, 3]pre[1] = max(intervals[i][1], pre[1])continue}// 不存在ans = append(ans, pre)pre = intervals[i]}ans = append(ans, pre)return ans
}func max(a, b int) int {if a > b {return a}return b
}

复杂度分析

时间复杂度 O(n log ⁡ \log logn )​ 。
空间复杂度 O( log ⁡ \log logn) 。


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

相关文章

GAN培训挑战:用于彩色图像的DCGAN

GAN培训挑战&#xff1a;用于彩色图像的DCGAN 1. 效果图2. 原理2.1 用于彩色图像的 DCGAN2.3 准备数据2.4 生成器2.5 鉴别器2.6 DCGAN模型及回调函数2.7 GAN培训挑战2.8 未能聚合&#xff08;Non-convergence&#xff09;2.9 模式崩溃&#xff08;Mode collapse&#xff09;2.1…

android 省电软件 实测,真的能省电?五款Android省电应用实测(5)

无节电软件耗电量测试 除了测试使用不同节电软件下的耗电量之外&#xff0c;自然还要测试在未安装任何节电软件时的耗电量&#xff0c;方便在整体效果上进行对比。我们将手机状态手动设置为50%亮度&#xff0c;开启各种无线连接&#xff0c;并测试上述的各种项目。 无节电软件的…

Android 省电模式

下拉状态栏和设置开启省电模式调用的方法 vendor/freeme/packages/apps/FreemeSystemUI/src/com/android/systemui/qs/tiles/BatterySaverTile.java Override protected void handleClick() {if (getState().state Tile.STATE_UNAVAILABLE) {return;}mBatteryController.set…

手机耗电量测试

1.在CPU空闲的时候&#xff0c;CPU对手机耗电的影响几乎可以忽略不计&#xff0c;因此在系统空闲的时候&#xff0c;对手机强制降频是不能节省电的 2.在对算性能要求高的应用程序中&#xff0c;建议减少大整数除法操作 3.同样的计算量&#xff0c;使用最低频率时&#xff0c;…

app耗电量测试

目录 目录 1. 引言 2. 测试方法 2.1. 直接观察 2.2. 使用adb命令进行统计 3. 典型的耗电场景 3.1. 定位 3.2. 网络传输 3.3. 音视频播放 4. app电量分析工具 4.1. Batterystats 4.2. Battery Historian 5. 环境安装 5.1. adb命令 5.2. 安装go 5.3. 安装git 5.4…

关于低功耗的记录

在之前的soc仿真中&#xff0c;用到了多电源域设计&#xff0c;因此学习了带UPF仿真的低功耗验证方法&#xff0c;在这里记录一下当时遇到的问题 低功耗设计包含&#xff1a; 1. 多电源域设计&#xff0c;部分模块可以使用不同的电压&#xff0c;如1.3v 1.1v 0.8v 2. 多阈值…

Battery Historian分析手机耗电神器

极力推荐Android 开发大总结文章&#xff1a;欢迎收藏程序员Android 力荐 &#xff0c;Android 开发者需要的必备技能 本篇文章主要介绍 Android 开发中 电量 的部分知识点&#xff0c;通过阅读本篇文章&#xff0c;您将收获以下内容: 1.安装Battery Historian 2.收集Batteryst…

Android 通过代码添加app 到白名单。关闭此APP的 省电策略,适用于手机 安卓6.0系统以上。

首先是添加权限&#xff1a; <uses-permissionandroid:name"android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS"/> 其实次主要代码&#xff0c;如果app没有在 白名单。会弹出dialog 引导用户选择。 PowerManager pm (PowerManager) getSystemServi…