题解 | #数组分组#

数组分组

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

#解题区好像没有这么写的,其实问题的模型可以这么理解
#数组拆分成[3,6,9**],[5,10,15**][a,b,c]那么有这么几种可能3+6+9+..+a+b+c=5+10+15....或者3+6+9+..-a+b+c=5+10+15....或者3+6+9+..-a-b+c=5+10+15....
#也就是说是处理a,b,c穷举加减法等于3倍数组和5倍数组差值,这样就简单了.
n=int(input())
l=[int(i) for i in input().split()]
l5,l3,l_3_5=[],[],[]
for ele in l:
    if ele%5==0:
        l5.append(ele)
    elif ele%3==0:
        l3.append(ele)
    else:
        l_3_5.append(ele)

def func(l,n):
    if len(l) == 0:
        return True if 0==n else False
    return func(l[1:],n+l[0]) or func(l[1:],n-l[0])

a=func(l_3_5,sum(l5)-sum(l3))
if a:
    print('true')
else:
    print('false')
全部评论

相关推荐

05-12 17:00
门头沟学院 Java
king122:你的项目描述至少要分点呀,要实习的话,你的描述可以使用什么技术,实现了什么难点,达成了哪些数字指标,这个数字指标尽量是真实的,这样面试应该会多很多,就这样自己包装一下,包装不好可以找我,我有几个大厂最近做过的实习项目也可以包装一下
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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