2015屆美團筆試

2021-06-25 14:36:28 字數 1130 閱讀 9977

m個機器、n個任務,每個機器執行任務時的時間不同,如何分配任務讓機器排程使得總時間最短?

如:2 個機器 6個任務 每個機器執行任務時間分別是10min和7min

假設3 3 分,需要max(30,21) = 30

假設4 2 分, 需要max(40,14)=40

假設2 4 分,需要max(20,28) = 28

求排程策略

思路:二分,

最多需要min(t[0]...t[m-1])*的時間,最少是0;low = 0, high = n*min(t[0]...t[m-1])

取得mid,

判斷  mid/t[0]+mid/t[1]+mid/t[2]+...mid/t[m-1] >= n  high = mid-1;

否則 low = mid+1;

#include using namespace std;

#include #include void ept(int t,int m,int n)

if(m >= n)else

if(cnt >= n)else if(cnt < n)

}printf("%d",low);

}}int main()

system("pause");

}

測試樣例如下:

2015美團筆試(南京地區)

昨天去南京參加的美團筆試,我去,好多人,看來大家都很想去。雖然自己比大牛比菜菜,但也做上幾道題,看來差距不是特別特別大,哈哈。把昨天的題目,自己上機試試。在字串中找出連續最長的數字串,並把這個串的長度返回,並把這個最長數字串付給其中乙個函式引數outputstr所指記憶體。例如 abcd12345e...

美團筆試2018 9 10

第一題 無向圖 def min path n,b node list 0 n 1 儲存節點的距離 for path in b 遍歷路徑,使後一節點距離值等於前一節點距離值加一 x,y path node list y node list x 1 depth 0 找到最大深度 for i in ran...

美團筆試(22 03 19)

一共五道 題,看了前面三道,ac了三道,後面兩道題沒有時間看,此處將對前三題進行記錄總結,後附 題意 給定一組n個商品的 下單購買商品時,必須購買前i個商品,即購買商品列表是商品列表的字首。提供兩種優惠規則,滿減優惠和折扣優惠,每次下單只能選擇某種優惠規則。問購買前i 1 i n 個商品時,使用哪種...