题目来源
本题如果用暴力求解的话,即双重for,外层遍历bookings,内层遍历bookings[i],
bookings[i][0]代表一个起始航班,bookings[i][1]代表一个终点航班,bookings[i][2]代表一个航班预定座位数
预先定义一个航班座位数组arr,arr[k]表示k航班预定的座位数。
在内层遍历中,再定义一个for循环,遍历bookings[i][0]~bookings[i][1]的每一个航班k,给对应的arr[k] += bookings[i][2]即可。
这个算法时间复杂度是 O(n^3),在本题数量级来看是超时的。
而本题其实是典型的为给定区间所有元素加上一个增量,可以利用差分数列求解。关于差分数列,请看: