mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-08 00:43:04 +08:00
@ -274,6 +274,7 @@ func min(a,b int)int{
|
||||
}
|
||||
```
|
||||
Javascript:
|
||||
- 按右边界排序
|
||||
```Javascript
|
||||
var eraseOverlapIntervals = function(intervals) {
|
||||
intervals.sort((a, b) => {
|
||||
@ -285,7 +286,7 @@ var eraseOverlapIntervals = function(intervals) {
|
||||
|
||||
for(let i = 1; i < intervals.length; i++) {
|
||||
let interval = intervals[i]
|
||||
if(interval[0] >= right) {
|
||||
if(interval[0] >= end) {
|
||||
end = interval[1]
|
||||
count += 1
|
||||
}
|
||||
@ -294,6 +295,24 @@ var eraseOverlapIntervals = function(intervals) {
|
||||
return intervals.length - count
|
||||
};
|
||||
```
|
||||
- 按左边界排序
|
||||
```js
|
||||
var eraseOverlapIntervals = function(intervals) {
|
||||
// 按照左边界升序排列
|
||||
intervals.sort((a, b) => a[0] - b[0])
|
||||
let count = 1
|
||||
let end = intervals[intervals.length - 1][0]
|
||||
// 倒序遍历,对单个区间来说,左边界越大越好,因为给前面区间的空间越大
|
||||
for(let i = intervals.length - 2; i >= 0; i--) {
|
||||
if(intervals[i][1] <= end) {
|
||||
count++
|
||||
end = intervals[i][0]
|
||||
}
|
||||
}
|
||||
// count 记录的是最大非重复区间的个数
|
||||
return intervals.length - count
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
-----------------------
|
||||
|
Reference in New Issue
Block a user