思路
- 暴力
- 前缀和
暴力解
int* corpFlightBookings(int** bookings, int bookingsSize, int* bookingsColSize, int n, int* returnSize){
int i,min_v = 65536,max_v=0;
int *res = (int*)malloc(n*sizeof(int));
memset(res,0,sizeof(int)*n);
int t=0;
for(i=0;i<bookingsSize;i++){
for(t = bookings[i][0];t<=bookings[i][1];t++){
res[t-1]+=bookings[i][2];
}
}
*returnSize = n;
return res;
}
前缀和
int* corpFlightBookings(int** bookings, int bookingsSize, int* bookingsColSize, int n, int* returnSize){
int i,min_v = 65536,max_v=0;
int *res = (int*)malloc(n*sizeof(int));
memset(res,0,sizeof(int)*n);
int t=0;
for(i=0;i<bookingsSize;i++){
res[bookings[i][0]-1]+=bookings[i][2];
if(bookings[i][1]<n)
res[bookings[i][1]]-=bookings[i][2];
}
for(i=1;i<n;i++)
res[i] = res[i]+res[i-1];
*returnSize = n;
return res;
}