贝壳找房算法岗-第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

相关推荐

美团 后端开发 总包n(15%是股票)
点赞 评论 收藏
分享
AFBUFYGRFHJLP:直接去美帝试试看全奖phd吧
点赞 评论 收藏
分享
object3:开始给部分🌸孝子上人生第一课了
点赞 评论 收藏
分享
11-24 11:23
门头沟学院 C++
点赞 评论 收藏
分享
评论
2
9
分享
牛客网
牛客企业服务