描述
这里有 n 个航班,它们分别从 1 到 n 进行编号。
有一份航班预订表 bookings ,表中第 i 条预订记录 bookings[i] = [firsti, lasti, seatsi] 意味着在从 firsti 到 lasti (包含 firsti 和 lasti )的 每个航班 上预订了 seatsi 个座位。
请你返回一个长度为 n 的数组 answer,里面的元素是每个航班预定的座位总数。
分析
暴力解法会超时。
两次遍历,第一次遍历bookings,向结果数组写入区域左端点写入要增加的数值,在右端点的右侧写入负的要增加的数值,目的是抵消掉前面的增加。
第二次遍历是从左向右遍历结果数组,执行res[i] += res[i-1]; 这个等式就能把左侧的增加一直延续到想要的位置为止。
class Solution {
public int[]