Das kombinierte Spektrum der 100 beliebtesten Fragen [mittel]

Beschreibung der Frage

Das Array Intervalle stellt eine Menge mehrerer Intervalle dar, wobei ein einzelnes Intervall Intervalle[i] = [starti, endi] ist. Bitte führen Sie alle überlappenden Intervalle zusammen und geben Sie ein Array nicht überlappender Intervalle zurück, das alle Intervalle in der Eingabe genau abdeckt.

Beispiel 1:

Eingabe: Intervalle = [[1,3],[2,6],[8,10],[15,18]]
Ausgabe: [[1,6],[8,10],[15,18]]
Erläuterung: Die Intervalle [1,3] und [2,6] überlappen sich und verschmelzen zu [1,6].

Beispiel 2:

Eingabe: Intervalle = [[1,4],[4,5]]
Ausgabe: [[1,5]]
Erläuterung: Die Intervalle [1,4] und [4,5] können als überlappende Intervalle betrachtet werden.

Hinweis:
Fügen Sie hier eine Bildbeschreibung ein

Lösung sortieren + einzeln zusammenführen

/**
 * @param {number[][]} intervals
 * @return {number[][]}
 */
var merge = function(intervals) {
    
    
    intervals.sort((a,b)=>a[0]-b[0])
    let res=[intervals[0]]
    for(let i=1;i<intervals.length;i++){
    
    
        if(intervals[i][0]<=res[res.length-1][1]){
    
    
            //合并
            res[res.length-1][1]=Math.max(res[res.length-1][1],intervals[i][1]);
        }else{
    
    
            res.push(intervals[i]);
        }
    }
    return res;
};

Ergebnisse der:
Fügen Sie hier eine Bildbeschreibung ein

Supongo que te gusta

Origin blog.csdn.net/qq_33183456/article/details/131939041
Recomendado
Clasificación