算法与数据结构——美团、大众点评笔试题
算法題 12:任務(wù)調(diào)度算法(美團(tuán)校招筆試題)
題目:任務(wù)調(diào)度在分布式調(diào)度系統(tǒng)中是一個(gè)很復(fù)雜很有挑戰(zhàn)的問(wèn)題。這里我們考慮一個(gè)簡(jiǎn)化的場(chǎng)景:假設(shè)一個(gè)中央調(diào)度機(jī),有n個(gè)相同的任務(wù)需要調(diào)度到m臺(tái)服務(wù)器上去執(zhí)行。由于每臺(tái)服務(wù)器的配置不一樣,因此服務(wù)器執(zhí)行一個(gè)任務(wù)所花費(fèi)的時(shí)間也不同。現(xiàn)在假設(shè)第i個(gè)服務(wù)器執(zhí)行一個(gè)任務(wù)需要的時(shí)間為t[i]。
例如:有2個(gè)執(zhí)行機(jī)a, b. 執(zhí)行一個(gè)任務(wù)分別需要7min,10min,有6個(gè)任務(wù)待調(diào)度。如果平分這6個(gè)任務(wù),即a,b各分三個(gè)任務(wù),則最短需要30min執(zhí)行完所有。如果a分這4個(gè)任務(wù),b分2個(gè),則最短28min執(zhí)行完。
請(qǐng)?jiān)O(shè)計(jì)調(diào)度算法,使得所有任務(wù)完成所需的時(shí)間最短
1) 簡(jiǎn)述思路
2) 請(qǐng)用你熟悉的編程語(yǔ)言編碼實(shí)現(xiàn)以下方法,輸入為m臺(tái)服務(wù)器,每臺(tái)機(jī)器處理一個(gè)任務(wù)的時(shí)間為t[i],完成n個(gè)任務(wù),輸出n個(gè)任務(wù)在m臺(tái)服務(wù)器的分布:
int estimate_process_time(int[] t, int m, int n);
************************************************************************************************************************
算法題 23:賽馬比賽(網(wǎng)易、美團(tuán))
題目1(網(wǎng)易筆試題):25匹馬5個(gè)跑道,怎樣選出最快的5匹來(lái)?最少的次數(shù)
題目2(2016美團(tuán)校招筆試題):30個(gè)馬賽跑,5個(gè)跑道,找出前五名,至少找?guī)状?/p>
題目3:64匹馬,8條跑道,分幾次可以選出最快的4匹?
拓展題目:n匹馬(1
說(shuō)出題目1、2、3的答案,描述一下解題思路。思考拓展題目是否有通用的公式?
************************************************************************************************************************
算法題 54:拜訪(美團(tuán)筆試題)
題目:現(xiàn)在有一個(gè)城市銷售經(jīng)理,需要從公司出發(fā),去拜訪市內(nèi)的商家,已知他的位置以及商家的位置,但是由于城市道路交通的原因,他只能在左右中選擇一個(gè)方向,在上下中選擇一個(gè)方向,現(xiàn)在問(wèn)他有多少種方案到達(dá)商家地址。
給定一個(gè)地圖map及它的長(zhǎng)寬n和m,其中1代表經(jīng)理位置,2代表商家位置,-1代表不能經(jīng)過(guò)的地區(qū),0代表可以經(jīng)過(guò)的地區(qū),請(qǐng)返回方案數(shù),保證一定存在合法路徑。保證矩陣的長(zhǎng)寬都小于等于10。
測(cè)試樣例:[[0,1,0],[2,0,0]],2,3
返回:2
************************************************************************************************************************
算法題 61:整數(shù)中數(shù)字3(大眾點(diǎn)評(píng)筆試題)
題目:0-999999之間的所有整數(shù)數(shù)字中,任何一位都不包括數(shù)字3的數(shù)字總數(shù)有多少個(gè)?
************************************************************************************************************************
算法題 70:平均年齡(美團(tuán)筆試)
題目:已知某公司總?cè)藬?shù)為W,平均年齡為Y歲(每年3月末計(jì)算,同時(shí)每年3月初入職新人),假設(shè)每年離職率為x,x>0&&x<1,每年保持所有員工總數(shù)不變進(jìn)行招聘,新員工平均年齡21歲。
從今年3月末開(kāi)始,請(qǐng)實(shí)現(xiàn)一個(gè)算法,可以計(jì)算出第N年后公司員工的平均年齡。(最后結(jié)果向上取整)。
輸入描述:
輸入W Y x N
輸出描述:
輸出第N年后的平均年齡
輸入例子:
5 5 0.2 3
輸出例子:
15
************************************************************************************************************************
算法題 77:貪心算法(大眾點(diǎn)評(píng)筆試題)
題目:下列算法中,沒(méi)有使用貪心策略的是()
A、 Prim算法
B、 Kruskal算法
C、 Dijkstra算法
D、 KMP算法
************************************************************************************************************************
算法題 88:最大差值 (美團(tuán)筆試題)
**********************************************************************************************************************
算法題 96:平均時(shí)間復(fù)雜度(大眾點(diǎn)評(píng)筆試題)
題目:給定一個(gè)整數(shù)sum,從有n個(gè)有序元素的數(shù)組中尋找元素a,b 使得a+b的結(jié)果最接近sum,最快的平均時(shí)間復(fù)雜度是:
A、 O(n)
B、 O(nlogn)
C、 O(n^2)
D、 O(logn)
************************************************************************************************************************
算法題 111:所有String2的字母在String1里是否存在(大眾點(diǎn)評(píng)筆試題)
題目:用最快方法判斷所有String2的字母在String1里是否存在,如:string2=”abx”,string1=”abcdef”,ab在string1中,x不在。
請(qǐng)給出你的解決方案!
************************************************************************************************************************
總結(jié)
以上是生活随笔為你收集整理的算法与数据结构——美团、大众点评笔试题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 2013年c语言课后作业答案,大一C语言
- 下一篇: 校园网连不上ipv6问题