# LC 1109. Corporate Flight Bookings ### [Problem link](https://leetcode.com/problems/corporate-flight-bookings/) ###### tags: `leedcode` `python` `medium` `Difference Array` There are <code>n</code> flights that are labeled from <code>1</code> to <code>n</code>. You are given an array of flight bookings <code>bookings</code>, where <code>bookings[i] = [first<sub>i</sub>, last<sub>i</sub>, seats<sub>i</sub>]</code> represents a booking for flights <code>first<sub>i</sub></code> through <code>last<sub>i</sub></code> ( **inclusive** ) with <code>seats<sub>i</sub></code> seats reserved for **each flight** in the range. Return an array <code>answer</code> of length <code>n</code>, where <code>answer[i]</code> is the total number of seats reserved for flight <code>i</code>. **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 Hence, answer = [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 Hence, answer = [10,25] ``` **Constraints:** - <code>1 <= n <= 2 * 10<sup>4</sup></code> - <code>1 <= bookings.length <= 2 * 10<sup>4</sup></code> - <code>bookings[i].length == 3</code> - <code>1 <= first<sub>i</sub> <= last<sub>i</sub> <= n</code> - <code>1 <= seats<sub>i</sub> <= 10<sup>4</sup></code> ## Solution 1 - Difference Array ```python= class Solution: def corpFlightBookings(self, bookings: List[List[int]], n: int) -> List[int]: diff = [0] * (n + 1) for first, last, seats in bookings: diff[first - 1] += seats diff[last] -= seats res = [0] * n res[0] = diff[0] for i in range(1, n): res[i] = res[i - 1] + diff[i] return res ``` >### Complexity >| | Time Complexity | Space Complexity | >| ----------- | --------------- | ---------------- | >| Solution 1 | O(n) | O(n) | ## Note 與[LC 2772. Apply Operations to Make All Array Elements Equal to Zero](https://hackmd.io/@Alone0506/HJvFoeiYh)類似