国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

LeetCode每日一題:56. 合并區(qū)間(2023.8.27 C++)

這篇具有很好參考價(jià)值的文章主要介紹了LeetCode每日一題:56. 合并區(qū)間(2023.8.27 C++)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

56. 合并區(qū)間

題目描述:

實(shí)現(xiàn)代碼與解析:

排序 + 貪心

原理思路:


56. 合并區(qū)間

題目描述:

????????以數(shù)組?intervals?表示若干個(gè)區(qū)間的集合,其中單個(gè)區(qū)間為?intervals[i] = [starti, endi]?。請(qǐng)你合并所有重疊的區(qū)間,并返回?一個(gè)不重疊的區(qū)間數(shù)組,該數(shù)組需恰好覆蓋輸入中的所有區(qū)間?。

示例 1:

輸入:intervals = [[1,3],[2,6],[8,10],[15,18]]
輸出:[[1,6],[8,10],[15,18]]
解釋:區(qū)間 [1,3] 和 [2,6] 重疊, 將它們合并為 [1,6].

示例?2:

輸入:intervals = [[1,4],[4,5]]
輸出:[[1,5]]
解釋:區(qū)間 [1,4] 和 [4,5] 可被視為重疊區(qū)間。

提示:

  • 1 <= intervals.length <= 104
  • intervals[i].length == 2
  • 0 <= starti <= endi <= 104

實(shí)現(xiàn)代碼與解析:

排序 + 貪心

class Solution {
public:
    vector<vector<int>> merge(vector<vector<int>>& intervals) {
        // 從小到大,按左端排序
        sort(intervals.begin(), intervals.end(), [&](const auto &a, auto &b){
            return a[0] < b[0];
        });

        vector<vector<int>> res;
        res.push_back(intervals[0]);

        for (int i = 0; i < intervals.size(); i++)
            for (int j = 0; j < 2; j++)
            {
                int l = intervals[i][0]; // 區(qū)間左端
                int r = intervals[i][1]; // 區(qū)間右端
                if (l <= res.back()[1] && r > res.back()[1])  res.back()[1] = r; // 有重疊, 但不包含
                else if (l <= res.back()[1] && r <= res.back()[1]); // 有重疊,但是包含
                else res.push_back({l, r}); // 無重疊
            }
        
        return res;
    }
};

原理思路:

????????先將區(qū)間按左端點(diǎn)排序,然后遍歷,若后區(qū)間的左端點(diǎn)小于等于前區(qū)間的右端點(diǎn),就將兩區(qū)間合并,誰的右端點(diǎn)大就用誰的,若無重合區(qū)間,直接將區(qū)間加入結(jié)果中。??文章來源地址http://www.zghlxwxcb.cn/news/detail-675143.html

到了這里,關(guān)于LeetCode每日一題:56. 合并區(qū)間(2023.8.27 C++)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Leetcode56. 合并區(qū)間

    Leetcode56. 合并區(qū)間

    以數(shù)組 intervals 表示若干個(gè)區(qū)間的集合,其中單個(gè)區(qū)間為 intervals[i] = [starti, endi] 。請(qǐng)你合并所有重疊的區(qū)間,并返回 一個(gè)不重疊的區(qū)間數(shù)組,該數(shù)組需恰好覆蓋輸入中的所有區(qū)間 。 示例 1: 輸入:intervals = [[1,3],[2,6],[8,10],[15,18]] 輸出:[[1,6],[8,10],[15,18]] 解釋:區(qū)間 [1,3] 和

    2024年01月23日
    瀏覽(15)
  • LeetCode[56]合并區(qū)間

    LeetCode[56]合并區(qū)間

    難度:Medium 題目: 以數(shù)組? intervals ?表示若干個(gè)區(qū)間的集合,其中單個(gè)區(qū)間為? intervals[i] = [starti, endi] ?。請(qǐng)你合并所有重疊的區(qū)間,并返回? 一個(gè)不重疊的區(qū)間數(shù)組,該數(shù)組需恰好覆蓋輸入中的所有區(qū)間 ?。 示例 1: ? 示例 2: 提示: 1 = intervals.length = 104 intervals[i].lengt

    2024年02月12日
    瀏覽(20)
  • LeetCode56.合并區(qū)間

    LeetCode56.合并區(qū)間

    這道題我想了一會(huì)兒,實(shí)在想不到比較好的算法,只能硬著頭皮寫了,然后不斷的debug,經(jīng)過我不懈的努力,最后還是AC,不過效率確實(shí)低。 我就是按照最直接的方法來,先把intervals數(shù)組按照第一個(gè)數(shù)start來排序,這個(gè)是通過定義一個(gè)sort方法用冒泡排序?qū)崿F(xiàn)的,然后用一個(gè)L

    2024年02月11日
    瀏覽(16)
  • 2023-08-13 LeetCode每日一題(合并兩個(gè)有序數(shù)組)

    2023-08-13 LeetCode每日一題(合并兩個(gè)有序數(shù)組)

    點(diǎn)擊跳轉(zhuǎn)到題目位置 給你兩個(gè)按 非遞減順序 排列的整數(shù)數(shù)組 nums1 和 nums2,另有兩個(gè)整數(shù) m 和 n ,分別表示 nums1 和 nums2 中的元素?cái)?shù)目。 請(qǐng)你 合并 nums2 到 nums1 中,使合并后的數(shù)組同樣按 非遞減順序 排列。 **注意:**最終,合并后數(shù)組不應(yīng)由函數(shù)返回,而是存儲(chǔ)在數(shù)組 num

    2024年02月13日
    瀏覽(28)
  • 2023-08-12 LeetCode每日一題(合并 K 個(gè)升序鏈表)

    2023-08-12 LeetCode每日一題(合并 K 個(gè)升序鏈表)

    點(diǎn)擊跳轉(zhuǎn)到題目位置 給你一個(gè)鏈表數(shù)組,每個(gè)鏈表都已經(jīng)按升序排列。 請(qǐng)你將所有鏈表合并到一個(gè)升序鏈表中,返回合并后的鏈表。 示例 1: 示例 2: 示例 3:

    2024年02月13日
    瀏覽(25)
  • 【LeetCode: 56. 合并區(qū)間+貪心+雙指針+標(biāo)識(shí)+模擬】

    【LeetCode: 56. 合并區(qū)間+貪心+雙指針+標(biāo)識(shí)+模擬】

    ?? 算法題 ?? ?? 算法刷題專欄 | 面試必備算法 | 面試高頻算法 ?? ?? 越難的東西,越要努力堅(jiān)持,因?yàn)樗哂泻芨叩膬r(jià)值,算法就是這樣? ?? 作者簡(jiǎn)介:碩風(fēng)和煒,CSDN-Java領(lǐng)域優(yōu)質(zhì)創(chuàng)作者??,保研|國家獎(jiǎng)學(xué)金|高中學(xué)習(xí)JAVA|大學(xué)完善JAVA開發(fā)技術(shù)棧|面試刷題|面經(jīng)八股文

    2024年02月10日
    瀏覽(20)
  • Leetcode 56. 合并區(qū)間(排序 + sort 方法的注意)

    Leetcode 56. 合并區(qū)間(排序 + sort 方法的注意) 題目 以數(shù)組 intervals 表示若干個(gè)區(qū)間的集合,其中單個(gè)區(qū)間為 intervals[i] = [starti, endi] 。 請(qǐng)你合并所有重疊的區(qū)間,并返回 一個(gè)不重疊的區(qū)間數(shù)組,該數(shù)組需恰好覆蓋輸入中的所有區(qū)間 。 1 = intervals.length = 10^4 intervals[i].length ==

    2024年02月10日
    瀏覽(27)
  • 【算法之貪心算法IV】leetcode56. 合并區(qū)間

    【算法之貪心算法IV】leetcode56. 合并區(qū)間

    力扣題目鏈接 有一些球形氣球貼在一堵用 XY 平面表示的墻面上。墻面上的氣球記錄在整數(shù)數(shù)組 points ,其中 points[i] = [xstart, xend] 表示水平直徑在 xstart 和 xend 之間的氣球。你不知道氣球的確切 y 坐標(biāo)。 一支弓箭可以沿著 x 軸從不同點(diǎn) 完全垂直 地射出。在坐標(biāo) x 處射出一支箭

    2024年02月11日
    瀏覽(90)
  • LeetCode 36天 | 435.無重疊區(qū)域 763.劃分字母區(qū)間 56.合并區(qū)間

    435. 無重疊區(qū)間 左邊排序,右邊裁剪為當(dāng)前最小的 763. 劃分字母區(qū)間 自己寫出來的題,雖然之前做過一遍了。 自己的寫法雖然比較難看,但是也列出來了。 再給一個(gè)卡爾的寫法 56. 合并區(qū)間 重疊區(qū)域的題目大都要按左邊界先排序。學(xué)了個(gè)lambda表達(dá)式??梢灾苯訉⒁粋€(gè)區(qū)域放

    2024年02月20日
    瀏覽(107)
  • 每日一題:leetcode 57 插入?yún)^(qū)間

    給你一個(gè) ?無重疊的 ?, 按照區(qū)間起始端點(diǎn)排序的區(qū)間列表。 在列表中插入一個(gè)新的區(qū)間,你需要確保列表中的區(qū)間仍然有序且不重疊(如果有必要的話,可以合并區(qū)間)。 示例 1: 示例 2: 示例 3: 示例 4: 示例 5: 提示: 0 = intervals.length = 104 intervals[i].length == 2 0 = int

    2024年02月11日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包