Merge pull request #737 from martisss/master

增加435.无重叠区间 js解法
This commit is contained in:
程序员Carl
2021-09-13 09:55:24 +08:00
committed by GitHub

View File

@ -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
}
```
-----------------------