華為OD機(jī)試 內(nèi)存池
本期題目:內(nèi)存池
題目
有一個簡易內(nèi)存池,內(nèi)存按照大小粒度分類,每個粒度有若干個可用內(nèi)存資源。 用戶橡皮擦?xí)M(jìn)行一系列內(nèi)存申請,需要按需分配內(nèi)存池中的資源,返回申請結(jié)果成功失敗列表。
分配規(guī)則如下:
分配的內(nèi)存要大于等于內(nèi)存的申請量 存在滿足需求的內(nèi)存就必須分配 優(yōu)先分配粒度小的,但內(nèi)存不能拆分使用
需要按申請順序分配 先申請的先分配,有可用內(nèi)存分配則申請結(jié)果為
true
?沒有可用則返回false
注釋:不考慮內(nèi)存釋放
輸入
輸入為兩行字符串:
第一行為內(nèi)存池資源列表,包含內(nèi)存粒度數(shù)據(jù)信息,粒度數(shù)據(jù)間用逗號分割, 一個粒度信息內(nèi)用冒號分割,冒號前為內(nèi)存粒度大小,冒號后為數(shù)量, 資源列表不大于
1024
?每個粒度的數(shù)量不大于4096
第二行為申請列表,申請的內(nèi)存大小間用逗號分割,申請列表不大于
100000
如?64:2,128:1,32:4,1:128
?50,36,64,128,127
輸出
輸出為內(nèi)存池分配結(jié)果
如true,true,true,false,false
題解地址 ??
?? 華為 OD 機(jī)考 Python?https://dream.blog.csdn.net/article/details/129095357
?? 華為 OD 機(jī)考 C++?https://dream.blog.csdn.net/article/details/129232156
?? 華為 OD 機(jī)考 JS?https://dream.blog.csdn.net/article/details/129447274
?? 華為 OD 機(jī)考 JAVA?https://dream.blog.csdn.net/article/details/129755728
?? 華為 OD 機(jī)考真 C 語言?https://dream.blog.csdn.net/article/details/129411415
?? 華為 OD 機(jī)考 Golang?https://blog.csdn.net/hihell/article/details/129341397
華為 OD 機(jī)試
刷題技巧 我這里有一個“刷題技巧”,你可以看看,或許可以幫到你: 不要盲目的刷題,凡是講究策略與技巧,題型是有限的。用自己的方法梳理題型,歸納與總結(jié),就能舉一反三、手到擒來。 這個“刷題技巧”,包含了遞歸、分治、單調(diào)棧、并查集、滑動窗口、前綴和、查分、二分查找、 BFS廣搜和 DFS深搜。 這些題型,都有一些共同點(diǎn): 遞歸,都是用一組關(guān)鍵字來實(shí)現(xiàn) BFS廣搜和 DFS深搜的共同點(diǎn): 前綴和(前綴法):通過判斷值是否相等來判斷結(jié)果是否為1。若不相等則返回1 (否則返回0)。(也可以通過數(shù)組索引的方法) BFS廣搜的共同點(diǎn):利用數(shù)組索引的方法。