题解 | #称砝码#

称砝码

http://www.nowcoder.com/practice/f9a4c19050fc477e9e27eb75f3bfd49c

python的两种方法,第一种先把所有重量加到列表,再求全排列;第二种每添加一次数,求一次。

ms = input().strip().split(' ')
ms = [int(i) for i in ms]
counts = input().split(' ')
counts = [int(i) for i in counts]

def fun1():
    res = []
    res2 = []
    for i in range(n):
        res.extend([ms[i]]*counts[i])

    res_len = len(res)
    res2.append(res[0])
    for i in range(1,res_len):
        res2 = list(set(res2))
        res2_len = len(res2)
        res2.append(res[i])
        for j in range(res2_len):
            res2.append(res[i]+res2[j])
    print(len(set(res2))+1)
fun1()

def fun2():
    res = [ms[0]*k for k in range(1,1+counts[0])]
    for i in range(1,n):
        new = [ms[i]*k for k in range(1,1+counts[i])]
        res_len=len(res)
        new_len=len(new)
        for g in range(new_len):
            for j in range(res_len):         
                res.append(res[j]+new[g])
        res.extend(new)
        res = list(set(res))
    print(len(set(res))+1)
#fun2()
全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 12:11
我最近都有点不想活了,天天早10晚11的,还问我爱不爱她目前的状态别说爱谁了,没扇谁就不错了。是不是大家都是一进节子,只有工作没有爱情了
AzureSkies:在字节的时候找的就是字节的,飞书太适合恋爱人士了,能看到是不是已读,是不是在会议中。简直冥婚好伴侣
投递字节跳动等公司9个岗位
点赞 评论 收藏
分享
06-23 11:28
门头沟学院 Java
牛客91966197...:也有可能是点拒绝的时候自动弹的话术
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务