Back to all solutions
#1109 - Corporate Flight Bookings
Problem Description
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.
Solution
/**
* @param {number[][]} bookings
* @param {number} n
* @return {number[]}
*/
var corpFlightBookings = function(bookings, n) {
const result = new Array(n).fill(0);
for (const [start, end, count] of bookings) {
result[start - 1] += count;
if (end < n) result[end] -= count;
}
for (let i = 1; i < n; i++) {
result[i] += result[i - 1];
}
return result;
};