题解 | #数组分组#

数组分组

https://www.nowcoder.com/practice/9af744a3517440508dbeb297020aca86

n = int(input())
nums = list(map(int,input().strip().split()))

def f(s5,s3,c):
    if len(c) ==0 :
        if s5 == s3:
            return True
        else:
            return False
    else:
        return f(s5+c[0],s3,c[1:]) or f(s5,s3+c[0],c[1:])



a = []
b = []
c = []

for i in range(n):
    if nums[i] % 5 == 0:
        a.append(nums[i])
    elif nums[i] % 3 == 0:
        b.append(nums[i])
    else:
        c.append(nums[i])

s5 = sum(a)
s3 = sum(b)


if f(s5,s3,c):
    print('true')
else:
    print('false')


全部评论

相关推荐

感觉自己陷入了死循环,因为不知道简历写什么所以什么也不想做,然后又什么都没做所以没得写。从三月到六月,三个月啊
零壹超人:没有简历 ➜ 不找项目 ➜ 没内容写 ➜ 更没简历 ➜ … 无限循环。你陷入了死锁,随便打破死锁的四个条件之一就可以了,打破循环等待,立即开始行动,不要等待;破坏占有且等待,立即抄一份简历先把简历写出来,再一点一点学简历上的东西
点赞 评论 收藏
分享
流浪的神仙:无恶意,算法一般好像都得9硕才能干算法太卷啦
点赞 评论 收藏
分享
05-13 02:01
已编辑
惠州学院 前端工程师
安静的少年在求佛:建议把公司名字写到标题。以后有人想搜就能直接搜到
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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