【python】3.19美团第一、二题mark

#insert test
n = int(input)
yuanjia = list(map(int,input().split()))
zhekou = list(map(int,input().split()))
m = int(input)
manjian = list(map(int,input().split()))
manjian.reverse()
cut = list(map(int,input().split()))
cut.reverse()
res = ""
jiage = youhuijia = manjianhou = 0
for i in range(n):
    jiage += yuanjia[i]
    youhuijia += zhekou[i]
    for j in range(m):
        if jiage >= manjian[j]:
            manjianhou = jiage - cut[j]
            break
        else:
            manjianhou = jiage
    if youhuijia == manjianhou:
        res += "B"
    elif youhuijia > manjianhou:
        res += "M"
    else:
        res += "Z"
print(res)

import math
class Solution():
    def secret(self, string, num, t):
        if t == 1:
            return self.type1(string, num)
        if t == 2:
            return self.type2(string, num)

    def type1(self, strings, nums):
        strings = '0' + strings
        res = []
        temp = 0
        mininum = 1000000000
        while temp < nums:
            a = math.ceil((nums - temp)/2)
            #print(a)
            if a < mininum:
                res.append(strings[a])
            else:
                res.append(strings[a+temp])
            mininum = a
            #print(mininum)
            temp += 1
        return res

    def type2(self, strings, nums):
        strings = '0' + strings
        res = [0 for i in range(nums+1)]
        #print(res)
        temp = 0
        index = 1
        mininum = 1000000000
        while temp < nums:
            a = math.ceil((nums - temp)/2)
            if a < mininum:
                res[a] = strings[index]
            else:
                res[a + temp] = strings[index]
            mininum = a
            temp += 1
            index += 1
        del res[0]
        return res


logo
#美团笔试##笔经##美团#
全部评论

相关推荐

点赞 评论 收藏
分享
04-08 13:31
已编辑
门头沟学院 前端工程师
D0cC:京东营收1万多亿人民币,阿里9000多亿,虽然他俩利润都没腾讯和字节多,但是很恐怖了啊,负担了多少打工人的薪水
投递拼多多集团-PDD等公司10个岗位
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务