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

【算法日志】貪心算法刷題:重疊區(qū)問題(day31)

這篇具有很好參考價值的文章主要介紹了【算法日志】貪心算法刷題:重疊區(qū)問題(day31)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

代碼隨想錄刷題60Day


目錄

前言

無重疊區(qū)間(篩選區(qū)間)

劃分字母區(qū)間(切割區(qū)間)

?合并區(qū)間


前言

今日的重點是掌握重疊區(qū)問題。


無重疊區(qū)間(篩選區(qū)間)

【算法日志】貪心算法刷題:重疊區(qū)問題(day31),貪心算法,算法,leetcode

   int eraseOverlapIntervals(vector<vector<int>>& intervals) 
    {
        int count = 0;
        const int size = intervals.size();
        sort(intervals.begin(), intervals.end());
        for (int i = 0; i < size; ++i)
        {
            int right = intervals[i][1];
            int j;
            for (j = i + 1; j < size; ++j)
            {
                if (right > intervals[j][1])
                    right = intervals[j][1];
                else if (right <= intervals[j][0])
                    break;
            }
            i = j - 1;
            ++count;
        }
        return size - count;
    }

劃分字母區(qū)間(切割區(qū)間)

【算法日志】貪心算法刷題:重疊區(qū)問題(day31),貪心算法,算法,leetcode

   vector<int> partitionLabels(string s) 
    {
        vector<int> result;
        const int size = s.length();
        int front = 0, back = size - 1;
        while(front < size)
        {
            while (s[front] != s[back])
                --back;
            if (front < back)
                for (int i = front + 1; i <= back; ++i)
                {
                    while (s[i] == s[i - 1])++i;
                    if (i > back) break;
                    int j  = size - 1;
                    while (j > back && s[i] != s[j])
                        j--;
                    back = j;
                }
            result.push_back(back - front + 1);
            front = back + 1;
            back = size - 1;
        }
        return result;
    }

?合并區(qū)間

【算法日志】貪心算法刷題:重疊區(qū)問題(day31),貪心算法,算法,leetcode文章來源地址http://www.zghlxwxcb.cn/news/detail-663284.html

   vector<vector<int>> merge(vector<vector<int>>& intervals) 
    {
        vector<vector<int>> result;
        sort(intervals.begin(), intervals.end());
        int size = intervals.size();
        for (int i = 0; i < size; ++i)
        {
            int j;
            int right = intervals[i][1];
            for (j = i + 1; j < size; ++j)
            {
                if (right < intervals[j][0])
                    break;
                else
                    right = max(right, intervals[j][1]);
            }
            result.push_back({intervals[i][0], right});
            i = j - 1;
        }
        return result;
    }

到了這里,關(guān)于【算法日志】貪心算法刷題:重疊區(qū)問題(day31)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 代碼隨想錄day31 貪心算法初探

    ????????就像卡哥視頻里說的一樣,感覺貪心算法確實沒什么固定的套路,唯一的思路就是求局部最優(yōu)解然后推廣到全局最優(yōu)解,但是什么是局部最優(yōu)解,這個需要慢慢做題來摸索總結(jié),有點像調(diào)參,蠻玄學(xué)的,純考腦子 假設(shè)你是一位很棒的家長,想要給你的孩子們一些

    2024年01月18日
    瀏覽(995)
  • 【貪心算法】leetcode刷題

    【貪心算法】leetcode刷題

    貪心算法無固定套路。 核心思想:先找局部最優(yōu),再擴展到全局最優(yōu)。 兩種思路: 1、從大到小。局部最優(yōu)就是大餅干喂給胃口大的,充分利用餅干尺寸喂飽一個,全局最優(yōu)就是喂飽盡可能多的小孩。 先遍歷的胃口,在遍歷的餅干 2、從小到大。 小餅干先喂飽小胃口 。兩個

    2024年02月14日
    瀏覽(24)
  • day31貪心算法 用最少數(shù)量的箭引爆氣球 和無重疊區(qū)間

    day31貪心算法 用最少數(shù)量的箭引爆氣球 和無重疊區(qū)間

    題目描述 題目分析: x軸向上射箭,12一支,重疊的需要一支,3-8一支,7-16一支 返回2; 就是讓重疊的氣球盡量在一起,局部最優(yōu);用一支弓箭,全局最優(yōu)就是最少弓箭; 如何去尋找重疊的氣球?和記錄弓箭數(shù)? 1.對所有氣球排序;(左邊界排序如上圖); 2. if 如果第i個氣

    2024年02月16日
    瀏覽(15)
  • day 1 LeetCode刷題日志

    day 1 LeetCode刷題日志

    今天的內(nèi)容是 704 和 27 ovo 704. 二分查找 給定一個 n 個元素有序的(升序)整型數(shù)組 nums 和一個目標(biāo)值 target 寫一個函數(shù)搜索 nums 中的 target ,如果目標(biāo)值存在返回下標(biāo),否則返回 -1 Myself C: Myself C++: Carl C++: Myself Sum: NOTICE 左閉右閉 左閉右開 C語言的int類型最大是10^9 C++的

    2024年02月03日
    瀏覽(19)
  • 算法刷題Day 31 分發(fā)餅干+擺動序列+最大子序列和

    分發(fā)餅干其實有很多種寫法,但是下面這種貪心的解法是最好理解,也最好解釋的 我的其他解法 貪心算法 這道題用貪心算法要考慮的細(xì)節(jié)有很多。 動態(tài)規(guī)劃 有點難(甚至涉及到了線段樹),等后面二刷的時候再來學(xué)好了 暴力解法 超時了 貪心算法 貪心算法的代碼寫起來簡

    2024年02月15日
    瀏覽(21)
  • Day31 貪心算法 part01 理論基礎(chǔ) 455.分發(fā)餅干 376.擺動序列 53.最大子序和

    Day31 貪心算法 part01 理論基礎(chǔ) 455.分發(fā)餅干 376.擺動序列 53.最大子序和

    什么是貪心 貪心的本質(zhì)是選擇每一階段的局部最優(yōu),從而達(dá)到全局最優(yōu) 。 這么說有點抽象,來舉一個例子: 例如,有一堆鈔票,你可以拿走十張,如果想達(dá)到最大的金額,你要怎么拿? 指定每次拿最大的,最終結(jié)果就是拿走最大數(shù)額的錢。 每次拿最大的就是局部最優(yōu),最

    2024年01月19日
    瀏覽(31)
  • 算法練習(xí)Day26 (Leetcode/Python-貪心算法)

    122. Best Time to Buy and Sell Stock II You are given an integer array? prices ?where? prices[i] ?is the price of a given stock on the? ith ?day. On each day, you may decide to buy and/or sell the stock. You can only hold? at most one ?share of the stock at any time. However, you can buy it then immediately sell it on the? same day . Find and return?

    2024年02月03日
    瀏覽(19)
  • LeetCode刷題筆記【23】:貪心算法專題-1(分發(fā)餅干、擺動序列、最大子序和)

    LeetCode刷題筆記【23】:貪心算法專題-1(分發(fā)餅干、擺動序列、最大子序和)

    貪心的本質(zhì)是選擇每一階段的局部最優(yōu),從而達(dá)到全局最優(yōu)。 例如,有一堆鈔票,你可以拿走十張,如果想達(dá)到最大的金額,你要怎么拿? 指定每次拿最大的,最終結(jié)果就是拿走最大數(shù)額的錢。 每次拿最大的就是局部最優(yōu),最后拿走最大數(shù)額的錢就是推出全局最優(yōu)。 感覺像

    2024年02月09日
    瀏覽(29)
  • 算法訓(xùn)練day37|貪心算法 part06(LeetCode738.單調(diào)遞增的數(shù)字)

    題目鏈接???? 給定一個非負(fù)整數(shù) N,找出小于或等于 N 的最大的整數(shù),同時這個整數(shù)需要滿足其各個位數(shù)上的數(shù)字是單調(diào)遞增。 (當(dāng)且僅當(dāng)每個相鄰位數(shù)上的數(shù)字 x 和 y 滿足 x = y 時,我們稱這個整數(shù)是單調(diào)遞增的。) 示例 1: 輸入: N = 10 輸出: 9 示例 2: 輸入: N = 1234 輸出:

    2024年02月09日
    瀏覽(24)
  • DAY31——貪心

    DAY31——貪心

    1.分發(fā)餅干 ? 2.擺動序列 ? 3.最大子序和 ?

    2024年02月11日
    瀏覽(13)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包