<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          ?LeetCode刷題實(shí)戰(zhàn)435:無重疊區(qū)間

          共 1894字,需瀏覽 4分鐘

           ·

          2021-11-15 02:51

          算法的重要性,我就不多說了吧,想去大廠,就必須要經(jīng)過基礎(chǔ)知識和業(yè)務(wù)邏輯面試+算法面試。所以,為了提高大家的算法能力,這個公眾號后續(xù)每天帶大家做一道算法題,題目就從LeetCode上面選 !

          今天和大家聊的問題叫做?無重疊區(qū)間,我們先來看題面:
          https://leetcode-cn.com/problems/non-overlapping-intervals/

          ?Given an array of intervals intervals where intervals[i] = [starti, endi], return the minimum number of intervals you need to remove to make the rest of the intervals non-overlapping.

          給定一個區(qū)間的集合,找到需要移除區(qū)間的最小數(shù)量,使剩余區(qū)間互不重疊。
          注意:
          可以認(rèn)為區(qū)間的終點(diǎn)總是大于它的起點(diǎn)。
          區(qū)間 [1,2] 和 [2,3] 的邊界相互“接觸”,但沒有相互重疊。

          示例

          示例 1:

          輸入: [ [1,2], [2,3], [3,4], [1,3]?]
          輸出: 1
          解釋: 移除 [1,3]?后,剩下的區(qū)間沒有重疊。

          示例 2:

          輸入: [ [1,2], [1,2], [1,2]?]
          輸出: 2
          解釋: 你需要移除兩個 [1,2]?來使剩下的區(qū)間沒有重疊。

          示例 3:

          輸入: [ [1,2], [2,3]?]
          輸出: 0
          解釋: 你不需要移除任何區(qū)間,因?yàn)樗鼈円呀?jīng)是無重疊的了。


          解題


          貪心算法,區(qū)間結(jié)尾越小,留給其他空間的位置越多,能保留更多空間,優(yōu)先保留與當(dāng)前區(qū)域不相交的結(jié)尾最小的區(qū)間
          每次選結(jié)尾最小的區(qū)間
          將二維數(shù)組按intervals[i][1]從小到大排序,每次取不與當(dāng)前空間相交的end最小的區(qū)間,用區(qū)間總數(shù)-不相交的區(qū)間數(shù)=需刪除的最小區(qū)間數(shù)

          class?Solution?{
          public:
          ????int?eraseOverlapIntervals(vector<vector<int>>& intervals)?{
          ????????if?(intervals.empty()) {
          ????????????return?0;
          ????????}
          ????????
          ????????sort(intervals.begin(), intervals.end(), [](const?auto& u, const?auto& v) {
          ????????????return?u[1] < v[1];
          ????????});

          ????????int?n = intervals.size();
          ????????int?right = intervals[0][1];
          ????????int?ans = 1;
          ????????for?(int?i = 1; i < n; ++i) {
          ????????????if?(intervals[i][0] >= right) {
          ????????????????++ans;
          ????????????????right = intervals[i][1];
          ????????????}
          ????????}
          ????????return?n - ans;
          ????}
          };


          好了,今天的文章就到這里,如果覺得有所收獲,請順手點(diǎn)個在看或者轉(zhuǎn)發(fā)吧,你們的支持是我最大的動力 。

          上期推文:


          LeetCode1-420題匯總,希望對你有點(diǎn)幫助!

          LeetCode刷題實(shí)戰(zhàn)421:數(shù)組中兩個數(shù)的最大異或值

          LeetCode刷題實(shí)戰(zhàn)422:有效的單詞方塊

          LeetCode刷題實(shí)戰(zhàn)423:從英文中重建數(shù)字

          LeetCode刷題實(shí)戰(zhàn)424:替換后的最長重復(fù)字符

          LeetCode刷題實(shí)戰(zhàn)425:單詞方塊

          LeetCode刷題實(shí)戰(zhàn)426:將二叉搜索樹轉(zhuǎn)化為排序的雙向鏈表

          LeetCode刷題實(shí)戰(zhàn)427:建立四叉樹

          LeetCode刷題實(shí)戰(zhàn)428:序列化和反序列化 N 叉樹

          LeetCode刷題實(shí)戰(zhàn)429:N 叉樹的層序遍歷

          LeetCode刷題實(shí)戰(zhàn)430:扁平化多級雙向鏈表

          LeetCode刷題實(shí)戰(zhàn)431:將 N 叉樹編碼為二叉樹

          LeetCode刷題實(shí)戰(zhàn)432:全 O(1) 的數(shù)據(jù)結(jié)構(gòu)

          LeetCode刷題實(shí)戰(zhàn)433:最小基因變化

          LeetCode刷題實(shí)戰(zhàn)434:字符串中的單詞數(shù)



          瀏覽 101
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  最黄色视频久久 | 狠狠撸奇米影视 | 一级a爱片在线免费看 | 在线免费观看黄色电影 | 亚洲无码免费看 |