mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-09 03:34:02 +08:00
增加435.无重叠区间 js解法
This commit is contained in:
@ -274,6 +274,7 @@ func min(a,b int)int{
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
Javascript:
|
Javascript:
|
||||||
|
- 按右边界排序
|
||||||
```Javascript
|
```Javascript
|
||||||
var eraseOverlapIntervals = function(intervals) {
|
var eraseOverlapIntervals = function(intervals) {
|
||||||
intervals.sort((a, b) => {
|
intervals.sort((a, b) => {
|
||||||
@ -285,7 +286,7 @@ var eraseOverlapIntervals = function(intervals) {
|
|||||||
|
|
||||||
for(let i = 1; i < intervals.length; i++) {
|
for(let i = 1; i < intervals.length; i++) {
|
||||||
let interval = intervals[i]
|
let interval = intervals[i]
|
||||||
if(interval[0] >= right) {
|
if(interval[0] >= end) {
|
||||||
end = interval[1]
|
end = interval[1]
|
||||||
count += 1
|
count += 1
|
||||||
}
|
}
|
||||||
@ -294,6 +295,24 @@ var eraseOverlapIntervals = function(intervals) {
|
|||||||
return intervals.length - count
|
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