035 貪心演算法 區間排程問題

2021-10-07 13:07:45 字數 1118 閱讀 1694

給你一些區間算出這些區間中有幾個不相交的區間?函式原型如下:

所以上述問題可以轉化為如下的**片段

public

intintervalschedule

(int

intvs)})

;//至少有乙個區間不相交

int count=1;

//排序後,令第乙個區間為x

int x_end=intvs[0]

[1];

for(

int[

] interval:intvs)

}return count;

}

leetcode435號問題可以基於上面的思路給出解答:
class

solution

arrays.

sort

(intvs,

new comparator<

int[

]>()

});//至少有1個區間不相交

int count=1;

//排序後,第乙個期間就是x

int x_end=intvs[0]

[1];

for(

int[

]interval:intvs)

}return count;

}public

interaseoverlapintervals

(int

intervals)

}

區間排程問題 貪心演算法

問題 有 n 項工作,每項工作分別在 s i 時間開始,在 t i 時間結束 對於每項 工作,你都有可以選擇參與與否。如果選擇了參與,那麼自始自終都必須全程參與。此外,參與工作的時間段不能重疊 即使是開始的瞬間和結束的瞬間的重疊也 是不允許的 include include include usin...

區間排程問題 貪心演算法

一 題目 區間排程問題 有n項工作,每項工作分別在si時間開始,在ti時間結束。對於每項工作,你都可以選擇參與與否。如果選擇了參與,那麼自始至終都必須全程參與。此外,參與工作的時間段不能重複 即使是開始的瞬間和結束的瞬間的重疊也是不允許的 你的目標是參與盡可能多的工作,那麼最多能參與多少項工作呢?1...

區間排程 貪心演算法

一 找到數目盡可能多的相容任務 假設每個任務j從sj開始到fj結束。若要找到盡可能多的相容任務,只需要將所有任務按照結束時間排序,每次都選擇最早結束的那個任務。因為每次選最早結束的,則留給之後的時間就越多。在餘下的時間中與被選的那個任務衝突的任務最多也只能有乙個被選 代替現在被選的這個任務 但是留下...