【华为机试真题 Python】跳格子2

布满荆棘的人生 2024-03-01 07:29 94阅读 0赞

题目描述

小明和朋友玩跳格子游戏,有 n 个连续格子组成的圆圈,每个格子有不同的分数,小朋友可以选择以任意格子起跳,但是不能跳连续的格子,不能回头跳,也不能超过一圈;

给定一个代表每个格子得分的非负整数数组,计算能够得到的最高分数。

输入描述

给定一个数例,第一个格子和最后一个格子首尾相连,如: 2 3 2

输出描述

输出能够得到的最高分,如: 3

参考示例

示例1

输入

2 3 2

输出

3

示例2

输入

1 2 3 1

输出

4

参考代码

  1. # 输入获取
  2. nums = list(map(int, input().split()))
  3. def stealMaxMoney(nums):
  4. n = len(nums)
  5. dp = [0] * n
  6. if n >= 1:
  7. dp[0] = nums[0]
  8. if n >= 2:
  9. dp[1] = max(nums[0], nums[1])
  10. for i in range(2, n):
  11. dp[i] = max(dp[i - 1], dp[i - 2] + nums[i])
  12. return dp[

发表评论

表情:
评论列表 (有 0 条评论,94人围观)

还没有评论,来说两句吧...

相关阅读