摘要:前言的航班預(yù)訂統(tǒng)計(jì)這里有個(gè)航班,它們分別從到進(jìn)行編號。此時(shí)第行數(shù)據(jù)表示起點(diǎn)是,終點(diǎn)是,座位數(shù)是。此時(shí)實(shí)現(xiàn)代碼航班預(yù)訂統(tǒng)計(jì)處理每一條預(yù)訂記錄給對應(yīng)航班編號增加座位數(shù)
前言
Weekly Contest 144的 航班預(yù)訂統(tǒng)計(jì):
解題思路這里有 n 個(gè)航班,它們分別從 1 到 n 進(jìn)行編號。
我們這兒有一份航班預(yù)訂表,表中第 i 條預(yù)訂記錄 bookings[i] = [i, j, k] 意味著我們在從 i 到 j 的每個(gè)航班上預(yù)訂了 k 個(gè)座位。
請你返回一個(gè)長度為 n 的數(shù)組 answer,按航班編號順序返回每個(gè)航班上預(yù)訂的座位數(shù)。
示例:
輸入:bookings = [[1,2,10],[2,3,20],[2,5,25]], n = 5 輸出:[10,55,45,25,25]提示:
1 <= bookings.length <= 20000
1 <= bookings[i][0] <= bookings[i][1] <= n <= 20000
1 <= bookings[i][2] <= 10000
本題題目的思路其實(shí)比較簡答:
讀取出每條預(yù)定記錄bookings[i] = [i, j, k]的起點(diǎn)i,終點(diǎn)j和座位數(shù)k
處于起點(diǎn)i和j之間的result[n]需要增加對應(yīng)的座位數(shù)k,即若i<=n+1<=k(因?yàn)?b>n為數(shù)組下標(biāo)索引,所以需要n+1),則result[n]+=k
下面會(huì)通過題目的示例分析:
輸入:bookings = [[1,2,10],[2,3,20],[2,5,25]], n = 5 輸出:[10,55,45,25,25]
運(yùn)算過程
第1行數(shù)據(jù)[1,2,10]表示起點(diǎn)是1,終點(diǎn)是2,座位數(shù)是10。所以result[0]+=10,result[1]+=10。此時(shí)
result[0]=10 result[1]=10 result[2]=0 result[3]=0 result[4]=0
第2行數(shù)據(jù)[2,3,20]表示起點(diǎn)是2,終點(diǎn)是3,座位數(shù)是20。所以result[1]+=20,result[2]+=20。此時(shí)
result[0]=10 result[1]=30 result[2]=20 result[3]=0 result[4]=0
第3行數(shù)據(jù)[2,5,25]表示起點(diǎn)是2,終點(diǎn)是5,座位數(shù)是15。所以result[1]+=25,result[2]+=25,result[3]+=25,result[4]+=25。此時(shí)
result[0]=10 result[1]=55 result[2]=45 result[3]=25 result[4]=25實(shí)現(xiàn)代碼
/** * 5118. 航班預(yù)訂統(tǒng)計(jì) * @param bookings * @param n * @return */ public int[] corpFlightBookings(int[][] bookings, int n) { int[] result = new int[n]; for (int i = 0; i < bookings.length; i++) { // 處理每一條預(yù)訂記錄 int start = bookings[i][0]; int end = bookings[i][1]; int seat = bookings[i][2]; for (int j = start - 1; j < end; j++) { // 給對應(yīng)航班編號增加座位數(shù) result[j] += seat; } } return result; }
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/75202.html
摘要:重試會(huì)增加的響應(yīng)時(shí)間。提供了輔助方法來為包含遠(yuǎn)程調(diào)用的函數(shù)式接口或表達(dá)式創(chuàng)建裝飾器。如果我們想創(chuàng)建一個(gè)裝飾器并在代碼庫的不同位置重用它,我們將使用。 在本文中,我們將從快速介紹 Resilience4j 開始,然后深入探討其 Retry 模塊。我們將了解何時(shí)、如何使用它,以及它提供的功能。在此過程中,我們還將學(xué)...
當(dāng)炒作出了「潑天的流量」,已經(jīng)沒人關(guān)心產(chǎn)品厲不厲害了。近日,OpenAI 的秘密項(xiàng)目「Q*」引起了業(yè)內(nèi)人士的廣泛關(guān)注。上個(gè)月,代號為「草莓(Strawberry)」的項(xiàng)目曝光,據(jù)說它是「Q*」的延續(xù),并可能具備高級推理能力。而就在最近幾天,關(guān)于這個(gè)項(xiàng)目,網(wǎng)絡(luò)上又來了幾波「鴿死人不償命」的傳播。尤其是一個(gè)「草莓哥」的賬號,不間斷地宣傳,給人期望又讓人失望。網(wǎng)友們對Agent Q背后的技術(shù)充滿了好奇。...
摘要:本文介紹了在項(xiàng)目中不同模塊之間共享數(shù)據(jù)庫連接的方法。專門負(fù)責(zé)和數(shù)據(jù)庫交互,用戶和航班這兩個(gè)模塊都需要連接數(shù)據(jù)庫,一開始我的代碼是這樣的引用連接數(shù)據(jù)庫引用連接數(shù)據(jù)庫且不說這種寫法一點(diǎn)都不,這種方式本身就是錯(cuò)誤的。 本文介紹了在 Node.js 項(xiàng)目中不同模塊之間共享數(shù)據(jù)庫連接的方法。 這個(gè)標(biāo)題本身就是一個(gè)命題,因?yàn)槭褂媚J(rèn)方式的情況下,一個(gè) Node.js 應(yīng)用里的各個(gè)模塊都是共享的同一...
摘要:提供酒店相關(guān)的接口返回該時(shí)間段有效的酒店提供航班相關(guān)的接口返回該時(shí)間段有效的航班提供一個(gè)旅行對外的接口,一次返回酒店和航班信息調(diào)用旅行外觀模式享元模式享元模式主要用于減少創(chuàng)建對象的數(shù)量,以減少內(nèi)存占用和提高性能。 組合模式(Composite pattern) 組合模式看起來就像對象組的樹形結(jié)構(gòu),一個(gè)對象里面包含一個(gè)或一組其他的對象。它是屬于結(jié)構(gòu)型模式。例如,一個(gè)公司包括很多個(gè)部門,每...
閱讀 3407·2021-11-25 09:43
閱讀 3083·2021-10-15 09:43
閱讀 2037·2021-09-08 09:36
閱讀 3028·2019-08-30 15:56
閱讀 814·2019-08-30 15:54
閱讀 2752·2019-08-30 15:54
閱讀 3067·2019-08-30 11:26
閱讀 1316·2019-08-29 17:27