全子集or集合更新 | HJ41 称砝码

# 最优解
while True:
    try:
        n = int(input())
        m = list(map(int, input().strip().split(' ')))  # measure
        x = list(map(int, input().strip().split(' ')))  # number
        weights = {0}
        for mi, xi in zip(m, x):
            for _ in range(xi):
                weights |= set([elem+mi for elem in weights])
        print(len(weights))
    except Exception as e:
        break

用时:50min

华为笔试刷题 文章被收录于专栏

高质量题: 1~40:HJ16,HJ22,HJ24,HJ26,HJ27,HJ28,HJ35,HJ37,HJ39; 40~80:HJ41,HJ42,HJ43,HJ44,HJ48,HJ50,HJ52,HJ53,HJ57,HJ61,HJ63,HJ64,HJ70,HJ71,HJ74,HJ77; 80~108:HJ82,HJ85,HJ88,HJ89,HJ93,HJ95,HJ98,HJ103,HJ107

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务