网易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
tql
点赞
送花
回复 分享
发布于 2020-09-12 17:21
秋招专场
校招火热招聘中
官网直投
可以有简单的算法。o(n)复杂度
点赞
送花
回复 分享
发布于 2020-09-12 18:01
Fin的作用是什么呀?没太看懂
点赞
送花
回复 分享
发布于 2020-09-12 23:35
为什么要写 a[i:i]呢? 求教
点赞
送花
回复 分享
发布于 2020-09-13 15:10

相关推荐

头像
不愿透露姓名的神秘牛友
06-08 20:47
点赞 评论 收藏
分享
点赞 评论 收藏
分享
1 4 评论
分享
牛客网
牛客企业服务