拼多多演算法工程師筆試題之分配巧克力

2021-08-04 18:51:44 字數 1256 閱讀 6609

問題:

給定n個孩子以及每個孩子需要的巧克力,給定m個巧克力以及巧克力的重量

輸出:

最多可以分給幾個人

思路:

一塊巧克力不能分給多人,多人也不能同分一塊巧克力,那麼符合條件的就是一塊巧克力分給乙個人指定最低的重量後巧克力剩餘量大於0即可

下面是具體的實現:

#!usr/bin/env python  

#encoding:utf-8

'''__author__:沂水寒城

功能:分配巧克力

'''

def split_qiaokeli(n, h_list, m, w_list):

h_list = [ int(i) for i in h_list.split(' ') ]

w_list = [ int(i) for i in w_list.split(' ') ]

h_list.sort()

w_list.sort()

num = 0

for h in h_list:

index = 0

for w in w_list:

index += 1

if h <= w:

num += 1

w_list = w_list[index:]

break

return num

n = raw_input()

h_list = raw_input()

m = raw_input()

w_list = raw_input()

print split_qiaokeli(n, h_list, m, w_list)

結果如下:

5

1 1 1 2 4

23 123

1 2 3

22 3

2

拼多多 提前批0722(演算法工程師)筆試總結

本次筆試題一共有四道演算法題目,難度都不算很大,總的來說是考察基礎能力加上一些思考能力。不同的崗位筆試題目是不同的。演算法工程師崗位四道程式設計題,題目沒有截圖沒有儲存,只是憑印象介紹,分別如下 在一維陣列中,儲存著自然數,找出其子連續序列的長度,子串行滿足先減小後增大。也就是類似 v 一樣的山谷。...

快手 演算法工程師 筆試

1.給定整數k和n,將n分為k個數,這k個數相加等於n。求這個k個數的最大乘積。1 k 10,1 n 1000 int main else if m n else if m n for int i 0 i k i cout return0 盲猜 分成的k個數大小相近的時候,k個數的乘積最大,僅僅是猜...

新浪PHP工程師筆試題

1.寫乙個函式,盡可能高效的,從乙個標準 url 裡取出檔案的副檔名 例如 http www.sina.com.cn abc de fg.php?id 1 需要取出 php 或 php 截詞和正則都可以,就這麼一串高效能體現在 題目出的很2 2.在 html 語言中,頁面頭部的 meta 標記可以用...