题目
这里有 n :个航班,它们分别从 1 到 n 进行编号。
有一份航班预订表 bookings ,表中第 i 条预订记录 bookings[i] = [firsti, lasti, seatsi] 意味着在从 firsti 到 lasti (包含 firsti 和 lasti )的 每个航班 上预订了 seatsi 个座位。
请你返回一个长度为 n 的数组 answer,其中 answer[i] 是航班 i 上预订的座位总数。
python:
class Solution:
def corpFlightBookings(self, bookings: List[List[int]], n: int) -> List[int]:
ans = [0]*n
for l, r, s in bookings:
ans[l-1] += s
if r < n:
ans[r] -= s
for i in range(1, n):
ans[i] += ans[i-1]
return ans
C++:
class Solution {
public:
vector<int> corpFlightBookings(vector<vector<int>>& bookings, int n) {
vector<int> ans (n);
for (auto& book : bookings){
ans[book[0]-1] += book[2];
if (book[1] < n){
ans[book[1]] -= book[2];
}
}
for (int i = 1; i < n; i++){
ans[i] += ans[i-1];
}
return ans;
}
};