题目:
题解:
代码如下:
const int N = 2e4+10;
using LL = long long;
LL diff[N];
class Solution {
public:
vector<int> corpFlightBookings(vector<vector<int>>& bookings, int n) {
memset(diff,0,sizeof diff);
for(auto b:bookings){
// 区间[l,n]加上c,在把区间[r+1,n]减去c,这样来保证区间[l,r]加上c了
int l=b[0],r=b[1],c=b[2];
diff[l]+=c,diff[r+1]-=c;
}
vector<int> res;
// 还原差分数组
for(int i=1;i<=n;++i){
diff[i]+=diff[i-1];
res.push_back(diff[i]);
}
return res;
}
};