拼多多算法工程师笔试题之分配巧克力

320 篇文章 88 订阅
151 篇文章 4 订阅

问题:

给定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
2
3 1
2

3
1 2 3
2
2 3
2


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Together_CZ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值