【华为OD统一考试B卷 】跳格子2 python

这是一个关于华为OD考试中涉及的跳格子游戏问题的解析,目标是从一个圆圈中获取最高分数。给定一个格子得分数组,玩家不能连续跳或回头,且一圈内不能超过。示例输入输出和解决方案思路包含在内,解决方案参考了LeetCode的类似问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目
小明和朋友玩跳格子游戏,有 n 个连续格子组成的圆圈,每个格子有不同的分数,小朋友可以选择从任意格子起跳,但是不能跳连续的格子,不能回头跳,也不能超过一圈:给定一个代表每个格子得分的非负整数数组,计算能够得到的最高分数
输入描述
给定一个数例,第一个格子和最后一个格子收尾相连,如: 2 3 2
输出描述
输出能够得到的最高分,如: 3
说明
1 <= nums.length <= 100
0 <= nums[i] <= 1000
示例1:
输入
2 3 2
输出
3
说明只能跳 3 这个格子,因为第一个格子和第三个格子收尾相连
示例2
输入
1 2 3 1
输出
4
说明
1+3=4
思路
1:leetcode213原题,直接看原题解就行了。
2:首先考虑最简单的情况。如果只有一间房屋,则偷窃该房屋,可以偷窃到最高总金额。如果只有两间房屋,则由于两间房屋相邻,不能同时偷窃,只能偷窃其中的一间房屋,因此选择其中金额较高的房屋进行偷窃,可以偷窃到最高总金额。
注意到

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值