[0820]顺丰笔试python版本(租服务器+赏金猎人)

第一题直接AC没占出来…
第二题,结束时间排序+dp
python版本,结尾时间排序做

class mission:
    def __init__(self, l, r, w):
        self.l, self.r, self.w = l, r, w

def main():
    n = int(input())
    if n < 1: return 0
    M = []
    for _ in range(n):
        l, r, w = map(int, input().split())
        M.append(mission(l, r, w))

    # 按结束时间升序排列
    M.sort(key=lambda x: x.r)

    front = [-1 for _ in range(n)]  # 与第i个任务相容的前一个任务编号
    for i in range(n - 1, 0, -1):
        for j in range(i - 1, -1, -1):
            if M[j].r < M[i].l: #这里有个坑,前一个任务的r必须小于后一个任务的l
                front[i] = j
                break

    dp = [0 for _ in range(n)]  # 以第i个任务结尾的最大收益
    dp[0] = M[0].w
    for i in range(1,n):
        if front[i]>=0:
            dp[i] = max(dp[i - 1], dp[front[i]] + M[i].w)
        else:
            dp[i]=max(dp[i-1],M[i].w)

    return dp[-1]


print(main())


#顺丰笔试##笔试题目##顺丰科技#
全部评论
调了半天还是91,这小于等于真闹心
点赞 回复 分享
发布于 2020-08-21 09:23
哈哈&nbsp;我也是&nbsp;一开始用的小于等于&nbsp;过了91后来改的小于&nbsp;不过这道题还有一个坑&nbsp;就是dp数组要用long来存&nbsp;要不然就溢出了&nbsp;不过python党不用考虑这个问题😂
点赞 回复 分享
发布于 2020-08-20 22:27
为什么必须小于😂
点赞 回复 分享
发布于 2020-08-20 22:21

相关推荐

不愿透露姓名的神秘牛友
07-02 17:28
25届每天都在焦虑找工作的事情0offer情绪一直很低落硬撑着面了一个岗位岗位有应酬的成分面试的时候hr给我出各种场景题问的问题比较犀利&nbsp;有点压力面的感觉感觉有点回答不上来本来就压抑的情绪瞬间爆发了呢一瞬间特别想哭觉得自己特别没用没绷住掉眼泪了事后想想觉得自己挺有病的&nbsp;真的破大防了
喜欢唱跳rap小刺猬...:我觉得没关系吧,之前有一次面试leader给我压力面,我顶住了压力,结果入职的时候发现组里氛围很差,果断跑路。其实从面试就能大概看出组的情况,面试体验好的组倒是不一定好,但是面试体验不好的组。。。就很难说
点赞 评论 收藏
分享
不要停下啊:大二打开牛客,你有机会开卷了,卷起来,去找课程学习,在牛客上看看大家面试笔试都需要会什么,岗位有什么需求就去学什么,努力的人就一定会有收获,这句话从来都经得起考验,像我现在大三了啥也不会,被迫强行考研,炼狱难度开局,啥也不会,找工作没希望了,考研有丝丝机会
点赞 评论 收藏
分享
评论
点赞
7
分享

创作者周榜

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