题解 | #合并区间#
合并区间
https://www.nowcoder.com/practice/69f4e5b7ad284a478777cb2a17fb5e6a
/*
* function Interval(a, b){
* this.start = a || 0;
* this.end = b || 0;
* }
*/
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param intervals Interval类一维数组
* @return Interval类一维数组
*/
function merge( intervals ) {
// write code here\
let arrs = intervals
arrs.sort((a, b) =>{
return a.start - b.start
})
// console.log('arrs=====', arrs)
let newArr = []
let arr = arrs[0]
let index = 1
if (arrs.length === 1) {
return arrs
}
while(index < arrs.length) {
if (arr.end < arrs[index].start) {
// newArr.push([arr.start, arr.end])
newArr.push(arr)
arr = arrs[index]
} else {
arr.end = Math.max(arr.end, arrs[index].end)
}
if (index === arrs.length - 1) {
// newArr.push([arr.start, arr.end])
newArr.push(arr)
}
index++
}
console.log(newArr)
return newArr
}
module.exports = {
merge : merge
};

