贝壳找房算法岗-第1题:KB、第3题:采木

第一题:KB
不等式两边同除以n!,可以得出1+1/2+1/3+...+1/n>K
给定K的值,求解满足不等式的最小的n的值,并输出。
代码如下:
#!/bin/python
# -*- coding: utf8 -*-
# 请完成下面这个函数,实现题目要求的功能
# 当然,你也可以不按照下面这个模板来作答,完全按照自己的想法来 ^-^
# ******************************开始写代码******************************
def GetResult(K):
    n = 2
    total = 1
    while True:
        total += 1 / float(n)
        if K < total:
            break
        n += 1
    return n
# ******************************结束写代码******************************
_K = int(input())
res = GetResult(_K)
print (res)


第三题:采木
使用锯子和斧头砍树。
第一行输入树的棵数n,
然后输入n行,每行分别输入三个数,分别代表用锯砍该棵树的时间用斧砍该棵树的时间以及换工具所需时间
已知现在手里拿着斧头,求依次砍n棵树所需的最少时间。
题目给定案例:
输入:
3
20 40 20
10 4 25
90 100 5
输出:139
大佬帮看下代码呗!
代码:
n = int(input())
a = []
b = []
c = []
for i in range(n):
    A, B, C = map(int, input().split())
    a.append(A)
    b.append(B)
    c.append(C)
fa = a[0]+c[0]
fb = b[0]
for j in range(1,n):
    tmp = fa
    fa = min(fa+a[j],fb+a[j]+c[j])
    fb = min(fb+b[j],tmp+c[j]+b[j])
print(min(fa,fb))






#贝壳找房##笔试题目#
全部评论
你第二个求fb时用到了fa,这个已经被更新了,不是前一颗树的了
点赞 回复 分享
发布于 2019-08-10 23:20
采木,这是怎么想出来的呀。当做动态规划问题吗
点赞 回复 分享
发布于 2019-08-11 15:14

相关推荐

躺尸修仙中:因为很多92的也去卷中小厂,反正投递简历不要钱,面试不要钱,时间冲突就推,不冲突就面试积累经验
点赞 评论 收藏
分享
11-08 10:39
门头沟学院 C++
点赞 评论 收藏
分享
2 9 评论
分享
牛客网
牛客企业服务