美团2020校招编程题

Posted cassielcode

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了美团2020校招编程题相关的知识,希望对你有一定的参考价值。

小美是团队的负责人,需要为团队制定工作的计划,以帮助团队产出最大的价值。

每周团队都会有两项候选的任务,其中一项为简单任务,一项为复杂任务,两项任务都能在一周内完成。第i周,团队完成简单任务的价值为li,完成复杂任务的价值为hi。由于复杂任务本身的技术难度较高,团队如果在第i周选择执行复杂任务的话,需要在i-1周不做任何任务专心准备。如果团队在第i周选择执行简单任务的话,不需要提前做任何准备。

现在小美的团队收到了未来N周的候选任务列表,请帮助小美确定每周的工作安排使得团队的工作价值最大。

输入描述:

第一行为N(0≤N≤1000)

接下来的N行表示第1到N周两项候选任务的价值,第i行的格式为:li hi,其中 0 < li < 10000, 0< hi < 10000。

 

输出描述:

输出一个数字,表示小美团队在未来N周能产出的最大价值。

 

输入例子1:
4
10 5
1 50
10 5
10 1

 

输出例子1:
70

第一周就做了困难的工作,如果第一周要求不能做困难工作,那么第一周只能选择li,初始条件改变

def maxValue(n, li, hi):
    pre, cur = 0, 0
    for i in range(n):
      pre, cur
= cur, max(pre+hi[i], cur+li[i]) return cur n = int(input()) li, hi = [], [] for i in range(n): tmp = input().strip().split() li.append(int(tmp[0])) hi.append(int(tmp[1])) print(maxValue(n, li, hi))

 

第一周要求不能做困难工作

def maxValue(n, li, hi):
    pre, cur = 0, 0
    for i in range(n):
     if i == 0:
       pre, cur = cur, pre+li[i]

        pre, cur = cur, max(pre+hi[i], cur+li[i])
          
    return cur
  
n = int(input())
li, hi = [], []
for i in range(n):
    tmp = input().strip().split()
    li.append(int(tmp[0]))
    hi.append(int(tmp[1]))
      
print(maxValue(n, li, hi))

 

以上是关于美团2020校招编程题的主要内容,如果未能解决你的问题,请参考以下文章

华为2020校招笔试编程题

美团点评2017校招研发offer面经

2020校招美团点评笔试

2020年拼多多校招面试题及答案-最全最新-持续更新中

去哪儿网2017校招在线笔试(前端工程师)编程题及JavaScript代码

测试校招六家大厂一起发难!最后一家竟是美团,面不过直接送外卖,大厂offer收割总结