网易9.12笔试整除7题解

使用Python先排序再直接暴力搜索即可
def fin(a, h):
    i = 0
    if h == 0:
        return True
    while i < len(a) and a[i] <= h:
        tmp = a[i]
        a.pop(i)
        if fin(a, h - tmp):
            return True
        a[i:i] = [tmp]
        i += 1
    return False
a = input().split(' ')
sum = 0
for i in range(len(a)):
    a[i] = int(a[i])
    sum += a[i]
h = sum % 7

a.sort()

while h < sum:
    if fin(a, h):
        print(sum - h)
        break
    h += 7
if(h > sum):
    print(-1)


#笔试题目##网易#
全部评论
Js暴力就超时
1 回复 分享
发布于 2020-09-12 17:49
为什么要写 a[i:i]呢? 求教
点赞 回复 分享
发布于 2020-09-13 15:10
Fin的作用是什么呀?没太看懂
点赞 回复 分享
发布于 2020-09-12 23:35
可以有简单的算法。o(n)复杂度
点赞 回复 分享
发布于 2020-09-12 18:01
tql
点赞 回复 分享
发布于 2020-09-12 17:21

相关推荐

评论
1
4
分享

创作者周榜

更多
牛客网
牛客企业服务