leetcode0056. 合并區間 - medium

1 題目:合并區間

官方難度 - 中等

以數組 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 < = i n t e r v a l s . l e n g t h < = 1 0 4 1 <= intervals.length <= 10^4 1<=intervals.length<=104
i n t e r v a l s [ i ] . l e n g t h = = 2 intervals[i].length == 2 intervals[i].length==2
0 < = s t a r t i < = e n d i < = 1 0 4 0 <= start_i <= end_i <= 10^4 0<=starti?<=endi?<=104

2 solution

最直接的做法,先按照 start 排序,然后進行合并,步驟如下:

1 先按照 start 遞增排序
2 初始化 s = start[0], e = end[0]
3 對于之后的每一個intervals[i],如果 start[i] 在區間[s, e] 內,則說明可以合并,否則是一個新的區間。

代碼

class Solution {
public:vector<vector<int>> merge(vector<vector<int>> &intervals) {vector<vector<int>> result;sort(intervals.begin(), intervals.end());int start = intervals[0][0], end = intervals[0][1];int i = 1;while (i < intervals.size()) {if (intervals[i][0] > end) {result.push_back({start, end});start = intervals[i][0];}end = max(end, intervals[i][1]);i++;}result.push_back({start, end});return result;
}
};

結果

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/72163.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/72163.shtml
英文地址,請注明出處:http://en.pswp.cn/web/72163.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

系統開發資源

一、前端篇 1.1 菜鳥CSS教程 1.2 HTML/CSS/JS 在線工具 二、后端篇 三、其他篇 3.1 菜鳥官網 3.2 黑馬程序員學習路線 3.3 根據地區獲取經緯度

計算機視覺cv2入門之圖像的讀取,顯示,與保存

在計算機視覺領域&#xff0c;Python的cv2庫是一個不可或缺的工具&#xff0c;它提供了豐富的圖像處理功能。作為OpenCV的Python接口&#xff0c;cv2使得圖像處理的實現變得簡單而高效。 示例圖片 目錄 opencv獲取方式 圖像基本知識 顏色空間 RGB HSV 圖像格式 BMP格式 …

k8s面試題總結(十五)

1.如何使用Kubernetes進行多環境部署&#xff08;如開發&#xff0c;測試和生產環境&#xff09;&#xff1f; 使用命名空間&#xff08;namespaces&#xff09;&#xff1a; 命名空間是用于邏輯隔離和資源分組的一種方式&#xff0c;可以為每個環境創建單獨的命名空間。 2.使…

linux中yum和wget指令的區別

yum 和 wget 都是 Linux 上的下載工具&#xff0c;但它們的用途、下載方式和適用場景不同。以下是它們的 主要區別&#xff1a; 1. yum 是軟件包管理器&#xff0c;wget 是文件下載工具 功能yumwget用途安裝、更新和管理 RPM 軟件包從 HTTP/HTTPS/FTP 下載文件工作方式通過 yu…

性能優化:服務器性能影響網站加載速度分析

問題&#xff1a;網站訪問加載慢是受部署服務器的核數、帶寬、內存影響嗎&#xff1f;&#xff1f; 文章目錄 前言一、服務器核數&#xff08;CPU&#xff09;二、帶寬三、內存&#xff08;RAM&#xff09;四、其他潛在影響因素五、排查與優化步驟六、總結 前言 網站訪問加載速…

【python】一文掌握 Conda 指令 (anaconda備忘清單)

文章目錄 入門常用基礎命令環境與包管理包與源管理更改環境導出環境配置其它額外提示這是開始使用 conda 命令的快速參考備忘單,初次學習可參考 這里 參考: Anaconda文檔官網命令Cheat sheetConda cheatsheet PDF入門 常用基礎命令 命令說明conda info查看 conda 的一系列基…

Qt:繪圖API

目錄 初識繪圖 繪圖API的使用 繪制形狀(QPaintEvent) 繪制文字(畫筆QPen) 內部填充(畫刷QBrush) 繪制圖片(QPixmap) 初識繪圖 我們前面學習 Qt 主要是學 Qt 的各種控件&#xff0c;本質上都是畫出來的 都是一些常用的東西&#xff0c;Qt 已經提前畫好了&#xff0c;拿過…

【附JS、Python、C++題解】Leetcode面試150題(9)——三數之和

一、題目????? 15. 三數之和 給你一個整數數組 nums &#xff0c;判斷是否存在三元組 [nums[i], nums[j], nums[k]] 滿足&#xff1a; i!j、i!k 且 j! k &#xff0c;同時還滿足&#xff1a;nums[i] nums[j] nums[k] 0 。請你返回所有和為 0 且不重復的三元組。 注意…

開源、創新與人才發展:機器人產業的戰略布局與稚暉君成功案例解析

目錄 引言 一、開源&#xff1a;機器人產業的戰略布局 促進技術進步和生態建設 吸引人才和合作伙伴 建立標準和網絡效應 降低研發風險與成本 二、稚暉君&#xff1a;華為"天才少年計劃"的成功典范 深厚的技術積累與動手能力 強烈的探索和創新意識 持續公開…

Android筆記:Android平臺下SVG格式的解析與實踐

在移動應用開發的廣闊天地里,開發者們始終致力于打造視覺效果卓越、適配各類設備屏幕的優質應用。SVG(Scalable Vector Graphics,可縮放矢量圖形)作為基于 XML 的圖形格式,以其鮮明特性,為 Android 開發者提供了實現這一愿景的關鍵路徑。接下來,本文將全方位深入解析在 …

mac本地部署Qwq-32b記錄

導語 昨天看到阿里開源了Qwq-32b&#xff0c;號稱性能可以媲美Deepseek-R1。今天晚上有空就在Mac上折騰了一下&#xff0c;使用ollma進行了部署&#xff0c;效果感覺還不錯&#xff0c;特此記錄。 環境 硬件 型號&#xff1a;Macbook M1 Pro 14寸內存&#xff1a;32G 環境…

blender學習25.3.11

【05-進階篇】Blender咖啡小場景之咖啡杯建模_嗶哩嗶哩_bilibili 杯子 首先做一個圓柱體 循環切割 crtlr 往下拖拽 框住按s往里收 Gz向上點 點擊頂面按插入i&#xff0c;往里收一下&#xff0c;這樣就插入了一個面 插入完成之后選中這個面&#xff0c;按下鍵盤的擠壓E 然后…

數據可信、隱私可控:CESS 如何打造波卡生態數據新基建?

原文&#xff1a;https://messari.io/report/cess-network-a-deep-dive-into-programmable-data-value-infrastructure作者&#xff1a;Messari編譯&#xff1a;OneBlock波卡生態一直以來以其跨鏈互操作性和靈活性吸引了眾多創新項目&#xff0c;尤其是在 DePIN&#xff08;去中…

Android 列表頁面終極封裝:SmartRefreshLayout + BRVAH 實現下拉刷新和加載更多

在 Android 開發中&#xff0c;列表頁面是常見的 UI 設計模式&#xff0c;而下拉刷新和加載更多是提升用戶體驗的關鍵功能。本文將帶你從零開始&#xff0c;封裝一個高復用性的 SmartRefreshHelper 工具類&#xff0c;結合 SmartRefreshLayout 和 BRVAH&#xff0c;實現高效、靈…

css基本功

為什么 ::first-letter 是偽元素&#xff1f; ::first-letter 的作用是選擇并樣式化元素的第一個字母&#xff0c;它創建了一個虛擬的元素來包裹這個字母&#xff0c;因此屬于偽元素。 grid布局 案例一 <!DOCTYPE html> <html lang"zh-CN"><head&…

基于WebRTC技術的EasyRTC嵌入式音視頻SDK:多平臺兼容與性能優化

在當今數字化、智能化的時代背景下&#xff0c;實時音視頻通信技術已成為眾多領域不可或缺的關鍵技術。基于WebRTC技術的EasyRTC嵌入式音視頻SDK&#xff0c;憑借其在ARM、Linux、Windows、安卓、iOS等多平臺上的兼容性&#xff0c;為開發者提供了強大的工具&#xff0c;推動了…

【Pandas】pandas Series last_valid_index

Pandas2.2 Series Time Series-related 方法描述Series.asfreq(freq[, method, how, …])用于將時間序列數據轉換為指定的頻率Series.asof(where[, subset])用于返回時間序列中指定索引位置的最近一個非缺失值Series.shift([periods, freq, axis, …])用于將時間序列數據沿指…

批量將 Excel 文檔中的圖片提取到文件夾

前面我們介紹過如何批量刪除 Excel 文檔中的所有圖片或者指定的圖片&#xff0c;其中就需要用到批量提取 Excel 文檔中圖片的操作。我們如何才能夠將 Excel 文檔中的圖片快速的提取出來呢&#xff1f;其實單個 Excel 文檔中的圖片提取到文件夾中是有多種方法可以完成的&#xf…

【氮化鎵】開態GaN HEMTs中氧誘導Vth漂移的缺陷演化

2019年,中國工程物理研究院電子工程研究所的Rong Wang等人基于實驗研究和第一性原理計算,研究了開啟態偏置下AlGaN/GaN高電子遷移率晶體管(HEMTs)中氧誘導的閾值電壓(Vth)漂移的缺陷演化機理。實驗結果表明,在開啟態應力作用下,T型柵AlGaN/GaN HEMT的Vth發生了明顯的負…

谷粒商城:性能壓測JVM堆區

目錄 Kit Apache JMeter VisualVM 堆內存 jvm內存模型 垃圾回收&#xff08;Garbage Collection, GC&#xff09; 新對象分配內存 GC步驟 MinorGC 性能優化 影響因素 優化 nginx動靜分離 優化三級分類獲取 Jvm參數配置堆區 測試 Kit Apache JMeter 壓力測試&…