9.3 百度研发笔试题

第一题

  • 若一个整数的数字和能被9整除,则这个整数能被9整除
  • AC
def first():
    n = int(input())
    zero, five = 0, 0
    temp = list(map(int, input().split(' ')))
    for i in range(n):
        t = temp[i]
        if t == 0:
            zero += 1
        else:
            five += 1
    if zero == 0:
        print(-1)
    else:
        print(int('5' * (five // 9 * 9) + '0' * zero))

第二题

暴力超时,也没想到什么好办法

第三题

  • 还是动态规划的思路,需要保存更多的状态
  • 通过60%
def third():
    from collections import defaultdict
    n, m = map(int, input().split(' '))
    dp = defaultdict(dict)
    # length, pre, pre-pre
    for i in range(1, m + 1):
        dp[i][(i, 0)] = 1

    for i in range(3, n + 1):
        for j in range(1, min(i, m + 1)):
            for (pre, ppre) in dp[i - j]:
                if j == ppre or j == pre:
                    continue
                if (j, pre) in dp[i]:
                    dp[i][(j, pre)] += dp[i - j][(pre, ppre)]
                else:
                    dp[i][(j, pre)] = dp[i - j][(pre, ppre)]
    res = 0
    for t in dp[n].values():
        res = (res + t) % int(1e9 + 7)
    print(res)



#笔试题型##百度#
全部评论
woc 裂开了 看了老哥的代码才知道0也可以被90整除  我就说咋一直80%🤣
点赞 回复 分享
发布于 2020-09-03 21:07
怎么和我的不一样啊
点赞 回复 分享
发布于 2020-09-03 21:01

相关推荐

不愿透露姓名的神秘牛友
07-25 17:55
点赞 评论 收藏
分享
屌丝逆袭咸鱼计划:心态摆好,man,晚点找早点找到最后都是为了提升自己好进正职,努力提升自己才是最关键的😤难道说现在找不到找的太晚了就炸了可以鸡鸡了吗😤早实习晚实习不都是为了以后多积累,大四学长有的秋招进的也不妨碍有的春招进,人生就这样
点赞 评论 收藏
分享
投递腾讯等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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