Leetcode刷題筆記之56 合併區間

2021-10-05 02:56:54 字數 1284 閱讀 5076

給出乙個區間的集合,請合併所有重疊的區間。

示例 1:

輸入:[[1,3],[2,6],[8,10],[15,18]]

輸出: [[1,6],[8,10],[15,18]]

解釋: 區間 [1,3] 和 [2,6] 重疊, 將它們合併為 [1,6].

示例 2:

輸入: [[1,4],[4,5]]

輸出: [[1,5]]

解釋: 區間 [1,4] 和 [4,5] 可被視為重疊區間。

此題,難度不算很大。

我們要合併兩個區間,必須滿足:

第乙個區間左邊的數字肯定要小於第二個區間左邊的數字;

第乙個區間右邊的數字肯定要大於第二個區間左邊的數字;

合併區間:

滿足合併區間的條件後;

新的區間左邊的數字為原第乙個區間左邊的數字,新區間右邊的數字為原第乙個區間右邊數字和原第二個區間右邊數字的最大值。

舉例:[0, 4], [3, 5]

0 <= 3

4 >= 3

新區間為[0, 5]。

[0, 5], [3, 4]

0 <= 3

5 >= 3

新區間為[0, 5]

第乙個條件很好滿足,我們把二維向量按照第乙個數字排序就好了。

第二個條件需要我們自己判斷。

class

solution

ans.

push_back()

;}return ans;}}

;

特別注意的是:我們的目的是合併所有可以合併的區間,不是找到兩個區間可以合併就直接先合併這兩個區間!

一開始寫的時候,自己繞進去了,只想著遇到區間可以合併,合併以後就把新的區間儲存。

關鍵是,自己用來測試的資料偏偏又是那麼的巧合,都是連續的兩個區間合併,沒有比兩個多區間可以合併,結果折騰了半天。

多看題目,多想題目,在做題之前把集中自己的精力,畢竟磨刀不誤砍柴功。

獻醜了!

使至塞上 王維

單車欲問邊,屬國過居延。

征蓬出漢塞,歸雁入胡天。

大漠孤煙直,長河落日圓。

蕭關逢侯騎,都護在燕然。

Leetcode刷題筆記

1.兩數之和給定乙個整數陣列nums 和乙個目標值target,請你在該陣列中找出和為目標值的那兩個整數,並返回他們的陣列下標。ps 你可以假設每種輸入只會對應乙個答案。但是,你不能重複利用這個陣列中同樣的元素。思路 用target減去nums中的每乙個數,並設立乙個字典來記錄對應的下標 class...

LeetCode刷題筆記

實現strstr 給定乙個 haystack 字串和乙個 needle 字串,在 haystack 字串中找出 needle 字串出現的第乙個位置 從0開始 如果不存在,則返回 1。示例 1 輸入 haystack hello needle ll 輸出 2 示例 2 輸入 haystack aaaa...

LeetCode刷題筆記

給出兩個 非空 的鍊錶用來表示兩個非負的整數。其中,它們各自的位數是按照 逆序 的方式儲存的,並且它們的每個節點只能儲存 一位 數字。如果,我們將這兩個數相加起來,則會返回乙個新的鍊錶來表示它們的和。您可以假設除了數字 0 之外,這兩個數都不會以 0 開頭。示例 輸入 2 4 3 5 6 4 輸出 ...