Annuaire d'articles
Description du problème
Étant donné un ensemble d'intervalles, veuillez fusionner tous les intervalles qui se chevauchent.
Rapport de résolution de problèmes
Trier par la valeur de départ de l'intervalle, puis les intervalles qui peuvent être fusionnés dans cette liste triée doivent être continus.
Code d'implémentation
class Solution {
public:
vector<vector<int>> merge(vector<vector<int>>& intervals) {
vector<vector<int>>ans;
sort(intervals.begin(),intervals.end());
for(int i=0;i<intervals.size();i++){
vector<int>temp;
int max_=intervals[i][1];
temp.push_back(intervals[i][0]);
while(i<intervals.size()-1&&(max_>=intervals[i+1][0])){
max_=max(max_,intervals[i+1][1]);
i++;
}
temp.push_back(max_);
ans.push_back(temp);
}
return ans;
}
};