华为od机试 Java【游戏最高分】

这篇博客介绍了如何解决华为在线开发者(OD)机试中的一道题目,涉及一个跳格子游戏的策略。游戏规则包括选择起点、非相邻格子跳跃和不得回头。博主通过示例解释了问题,并分享了用Java实现的求解代码,以计算玩家可以获得的最高分数。

题目

小明正在和他的朋友们玩一个跳格子的游戏。这个游戏有一个行列,共包含n个格子,每个格子里都有一定的分数。

游戏的规则如下:

小明可以选择任意一个格子作为起点。
从起点开始,小明可以选择跳到任意非相邻的格子。也就是说,如果小明当前在第i个格子,他下一步可以跳到第i+2个格子或更远的格子。
小明不能回头跳,也就是说他不能跳回到已经跳过的格子。
小明的目标是获取尽可能高的分数。
你的任务是找出小明可以得到的最高分数。

输出描述

一个整数,表示小明可以得到的最高分数。

示例

输入

1 2 3 1
输出

4
说明
小明可以选择第一个格子作为起点,然后跳到第三个格子,这样他可以得到 1+3 = 4 分。

输入

2 7 9 3 1

输出

12

说明
小明可以选择第一个格子作为起点,然后跳到第三个格子,最后跳到最后一个格子,这样他可以得到 2+9+1 = 12 分。

代码

import java.util.
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AlgorithmHero

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值