网易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

相关推荐

03-03 23:12
已编辑
北京邮电大学 Java
书海为家:我来给一点点小建议,因为毕竟还在学校不像工作几年的老鸟有丰富的项目经验,面试官在面试在校生的时候更关注咱们同学的做事逻辑和思路,所以最好在简历中描述下自己做过项目的完整过程,比如需求怎么来的,你对需求的解读,你想到的解决办法,遇到困难如何找人求助,最终项目做成了什么程度,你从中收获了哪些技能,你有什么感悟。
你的简历改到第几版了
点赞 评论 收藏
分享
评论
1
4
分享

创作者周榜

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