# 1109. Corporate Flight Bookings

There are `n` flights that are labeled from `1` to `n`.

You are given an array of flight bookings `bookings`, where `bookings[i] = [firsti, lasti, seatsi]` represents a booking for flights `firsti` through `lasti` (inclusive) with `seatsi` seats reserved for each flight in the range.

Return *an array  `answer`  of length  `n` , where  `answer[i]`  is the total number of seats reserved for flight *`i`.

Example 1:

``````Input: bookings = [[1,2,10],[2,3,20],[2,5,25]], n = 5
Output: [10,55,45,25,25]
Explanation:
Flight labels:        1   2   3   4   5
Booking 1 reserved:  10  10
Booking 2 reserved:      20  20
Booking 3 reserved:      25  25  25  25
Total seats:         10  55  45  25  25
``````

Example 2:

``````Input: bookings = [[1,2,10],[2,2,15]], n = 2
Output: [10,25]
Explanation:
Flight labels:        1   2
Booking 1 reserved:  10  10
Booking 2 reserved:      15
Total seats:         10  25
``````

Constraints:

• `1 <= n <= 2 * 104`
• `1 <= bookings.length <= 2 * 104`
• `bookings[i].length == 3`
• `1 <= firsti <= lasti <= n`
• `1 <= seatsi <= 104`

``````class Solution {
public:
vector<int> corpFlightBookings(vector<vector<int>>& bookings, int n) {
vector<int> res(n);
for (auto booking : bookings) {
res[booking[0] - 1] += booking[2];
if (booking[1] < n) res[booking[1]] -= booking[2];
}
for (int i = 1; i < n; ++i) {
res[i] += res[i - 1];
}
return res;
}
};
``````

Github 同步地址:

https://github.com/grandyang/leetcode/issues/1109

https://leetcode.com/problems/corporate-flight-bookings/

https://leetcode.com/problems/corporate-flight-bookings/discuss/328871/C%2B%2BJava-with-picture-O(n)

https://leetcode.com/problems/corporate-flight-bookings/discuss/328856/JavaC%2B%2BPython-Sweep-Line

LeetCode All in One 题目讲解汇总(持续更新中…)

 微信打赏 Venmo 打赏
（欢迎加入博主的知识星球，博主将及时答疑解惑，并分享刷题经验与总结，试运营期间前五十位可享受半价优惠～）

×

Help us with donation