美团0817笔试第三题a

事后回忆的解法,应该没错叭。(* ̄m ̄)。不过第二题题目啥意思呀,求个路过的好心人解惑一下。

l=[2,2,3,4,5,6,7]
avg=sum(l)/len(l)
avg
count=0
if avg-int(avg)==0: # l=[1,2,3,4,5] 3.0做差即可
    for i in l:
        if avg-i>=1:
            count+=int(avg)-i
    print(count)
else:
    down_=int(avg)
    up_=int(avg)+1
    count_d=0
    count_u=0
    for i in l:
        if iup_:
            count_u+=i-up_
    # (5,3)次选5次,因为[4,4,4,4,5,5,5]后还需要进行加1次(5-3)=2次,2次可以被容纳,最后变为 [4,4,5,5,5,5,5]
    print(max(count_d,count_u))
全部评论
要求结果是最小的操作,只有4和5时就可以停了,极差已经最小了
点赞 回复 分享
发布于 2024-08-18 08:48 北京
你这个应该没错,我感觉我和很多人过 0.3 还是因为判断是 avg 还是 avg+1 逻辑会有 bug,直接都计算取最大值应该可以。
点赞 回复 分享
发布于 2024-08-17 22:31 北京

相关推荐

05-23 20:31
已编辑
武汉大学 Java
内向的柠檬精在研究求职打法:注意把武大标粗标大 本地你俩不是乱杀
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务