题解 | #数组分组#

数组分组

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

import sys,itertools

for line in sys.stdin:
    a = list(map(int,line.split()))
grp1, grp2,grp3 = [], [], []
total = sum(a) / 2
n = len(a)
for i in range(n):
    if a[i] % 3 == 0 and a[i] % 5 != 0:
        grp1.append(a[i])
    elif a[i] % 5 == 0:
        grp2.append(a[i])
    else:
        grp3.append(a[i])
res1 = total - sum(grp1)
if res1 == 0:
    print('true')
else:
    could = False
    for i in range(1,len(grp3)+1):
        com = itertools.combinations(range(len(grp3)),i)
        for k in com:
            summation = sum([grp3[j] for j in k])
            if summation == res1:
                could = True
    if could:
        print('true')
    else:
        print('false')

思路:

首先按照要求拆分两组,将不属于任意一组的放在第三组,进行组合遍历,如果求和后能够满足条件,则输出true,否则false

全部评论

相关推荐

Southyeung:我说一下我的看法(有冒犯实属抱歉):(1)简历不太美观,给我一种看都不想看的感觉,感觉字体还是排版问题;(2)numpy就一个基础包,机器学习算法是什么鬼?我感觉你把svm那些写上去都要好一点。(2)课程不要写,没人看,换成获奖经历;(3)项目太少了,至少2-3个,是在不行把网上学习的也写上去。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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