1109. 航班预订统计
生活随笔
收集整理的這篇文章主要介紹了
1109. 航班预订统计
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1109. 航班預訂統(tǒng)計
這里有 n 個航班,它們分別從 1 到 n 進行編號。
有一份航班預訂表 bookings ,表中第 i 條預訂記錄 bookings[i] = [firsti, lasti, seatsi] 意味著在從 firsti 到 lasti (包含 firsti 和 lasti )的 每個航班 上預訂了 seatsi 個座位。
請你返回一個長度為 n 的數(shù)組 answer,其中 answer[i] 是航班 i 上預訂的座位總數(shù)。
示例 1:
輸入:bookings = [[1,2,10],[2,3,20],[2,5,25]], n = 5 輸出:[10,55,45,25,25] 解釋: 航班編號 1 2 3 4 5 預訂記錄 1 : 10 10 預訂記錄 2 : 20 20 預訂記錄 3 : 25 25 25 25 總座位數(shù): 10 55 45 25 25 因此,answer = [10,55,45,25,25]示例 2:
輸入:bookings = [[1,2,10],[2,2,15]], n = 2 輸出:[10,25] 解釋: 航班編號 1 2 預訂記錄 1 : 10 10 預訂記錄 2 : 15 總座位數(shù): 10 25 因此,answer = [10,25]解題思路
題目可以轉(zhuǎn)換為n個公車站,bookings[i] = [firsti, lasti, seatsi]代表從firsti站上車seatsi人,從lasti+1站下車seatsi人,我們維護每個站的上下車人數(shù),就能得出經(jīng)過每個站時,公車上有多少人
代碼
class Solution {public int[] corpFlightBookings(int[][] bookings, int n) {int[] res=new int[n];for(int[] cur:bookings){res[cur[0]-1]+=cur[2];if(cur[1]<n)res[cur[1]]-=cur[2];}for(int i=1;i<n;i++)res[i]+=res[i-1];return res;} }總結(jié)
以上是生活随笔為你收集整理的1109. 航班预订统计的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 862. 和至少为 K 的最短子数组
- 下一篇: 梦到黑乌龟是啥意思