Leetcode 57. Insert Interval | | Leetcode 57. Insert Interval 文章作者:Tyan博客:noahsnail.com | CSDN | 简书 1. Description 2. Solution123456789101112131415161718192021222324252627282930313233343536373839/** * Definition for an interval. * struct Interval { * int start; * int end; * Interval() : start(0), end(0) {} * Interval(int s, int e) : start(s), end(e) {} * }; */class Solution {public: vector<Interval> insert(vector<Interval>& intervals, Interval newInterval) { vector<Interval> result; int i = 0; bool inserted = false; for(i = 0; i < intervals.size(); i++) { Interval current = intervals[i]; if(current.end < newInterval.start) { result.push_back(current); } else if(newInterval.end < current.start) { result.push_back(newInterval); inserted = true; break; } else { newInterval.start = min(current.start, newInterval.start); newInterval.end = max(current.end, newInterval.end); } } if(!inserted) { result.push_back(newInterval); } for(i = i; i < intervals.size(); i++) { result.push_back(intervals[i]); } return result; }}; Reference https://leetcode.com/problems/insert-interval/description/ 如果有收获,可以请我喝杯咖啡! 赏 微信打赏 支付宝打赏