当前位置:   article > 正文

华为OD机试D卷 --跳格子3--24年OD统一考试(Java & JS & Python & C & C++)

华为OD机试D卷 --跳格子3--24年OD统一考试(Java & JS & Python & C & C++)

题目描述

小明和朋友们一起玩跳格子游戏,
每个格子上有特定的分数score=[1,-1,-6,7,-17, 7],
从起点score[0]开始,每次最大的步长为k, 请你返回小明跳到终点score[n-1]时, 能得到的最大得分。

输入描述

第一行输入总的格子数量n
第二行输入每个格子的分数score[i
第三行输入最大跳的步长k

输出描述

输出最大得分
备注
格子的总长度n和步长k的区间在[1, 100000]
每个格子的分数score[i]在[-10000,10000]区间

用例

输入
6
1-1-67-177
输出
14
说明

题目解析

1.首先, 我们需要计算从起点到终点的最大得分。
2.我们可以使用动态规划的方法来解决这个问题。 定义一个数组dp[j]表示跳到第i 个格子时能得到的最大得分。
3.初始化dp[0]=score[0], 表示从起点开始的得分为第一个格子的分数。
4.对于每个格子i,我们可以选择跳1步、2步、…、k步到达该格子。因此, 我们需要遍历所有可能的步数,并更新 dp[i]为最大值。
5.最后,返回dp[n-1], 即跳到终点时能得到的最大得分。

算法源码

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/酷酷是懒虫/article/detail/806157
推荐阅读
相关标签
  

闽ICP备14008679号