Python每日一练(20230512) 跳跃游戏 V\VI\VII

简介: Python每日一练(20230512) 跳跃游戏 V\VI\VII

1. 跳跃游戏 V


给你一个整数数组 arr 和一个整数 d 。每一步你可以从下标 i 跳到:


   i + x ,其中 i + x < arr.length 且 0 < x <= d 。

   i - x ,其中 i - x >= 0 且 0 < x <= d 。


除此以外,你从下标 i 跳到下标 j 需要满足:arr[i] > arr[j] 且 arr[i] > arr[k] ,其中下标 k 是所有 i 到 j 之间的数字(更正式的,min(i, j) < k < max(i, j))。


你可以选择数组的任意下标开始跳跃。请你返回你 最多 可以访问多少个下标。


请注意,任何时刻你都不能跳到数组的外面。


示例 1:


601abe0e3134c88bdb7e4b50c3bb8537.jpeg



输入:arr = [6,4,14,6,8,13,9,7,10,6,12], d = 2


输出:4


解释:你可以从下标 10 出发,然后如上图依次经过 10 --> 8 --> 6 --> 7 。


注意,如果你从下标 6 开始,你只能跳到下标 7 处。你不能跳到下标 5 处因为 13 > 9 。你也不能跳到下标 4 处,因为下标 5 在下标 4 和 6 之间且 13 > 9 。


类似的,你不能从下标 3 处跳到下标 2 或者下标 1 处。


示例 2:

输入:arr = [3,3,3,3,3], d = 3

输出:1

解释:你可以从任意下标处开始且你永远无法跳到任何其他坐标。


示例 3:

输入:arr = [7,6,5,4,3,2,1], d = 1

输出:7

解释:从下标 0 处开始,你可以按照数值从大到小,访问所有的下标。


示例 4:

输入:arr = [7,1,7,1,7,1], d = 2

输出:2


示例 5:

输入:arr = [66], d = 1

输出:1


提示:

   1 <= arr.length <= 1000

   1 <= arr[i] <= 10^5

   1 <= d <= arr.length  


代码:

python

输出:


2. 跳跃游戏 VI


给你一个下标从 0 开始的整数数组 nums 和一个整数 k 。


一开始你在下标 0 处。每一步,你最多可以往前跳 k 步,但你不能跳出数组的边界。也就是说,你可以从下标 i 跳到 [i + 1, min(n - 1, i + k)] 包含 两个端点的任意位置。


你的目标是到达数组最后一个位置(下标为 n - 1 ),你的 得分 为经过的所有数字之和。


请你返回你能得到的 最大得分 。


示例 1:

输入:nums = [1,-1,-2,4,-7,3], k = 2

输出:7

解释:你可以选择子序列 [1,-1,4,3] (上面加粗的数字),和为 7 。


示例 2:

输入:nums = [10,-5,-2,4,0,3], k = 3

输出:17

解释:你可以选择子序列 [10,4,3] (上面加粗数字),和为 17 。


示例 3:

输入:nums = [1,-5,-20,4,-1,3,-6,-3], k = 2

输出:0


提示:

    1 <= nums.length, k <= 10^5

   -10^4 <= nums[i] <= 10^4


代码:

python

输出:


3. 跳跃游戏 VII


给你一个下标从 0 开始的二进制字符串 s 和两个整数 minJump 和 maxJump 。一开始,你在下标 0 处,且该位置的值一定为 '0' 。当同时满足如下条件时,你可以从下标 i 移动到下标 j 处:


   i + minJump <= j <= min(i + maxJump, s.length - 1) 且

   s[j] == '0'.


如果你可以到达 s 的下标 s.length - 1 处,请你返回 true ,否则返回 false 。


示例 1:

输入:s = "011010", minJump = 2, maxJump = 3

输出:true


解释:

第一步,从下标 0 移动到下标 3 。

第二步,从下标 3 移动到下标 5 。


示例 2:

输入:s = "01101110", minJump = 2, maxJump = 3

输出:false


提示:

   2 <= s.length <= 10^5

   s[i] 要么是 '0' ,要么是 '1'

   s[0] == '0'

   1 <= minJump <= maxJump < s.length


代码:

python

输出:





目录
打赏
0
0
0
0
74
分享
相关文章
【01】做一个精美的打飞机小游戏,浅尝阿里云通义灵码python小游戏开发AI编程-之飞机大战小游戏上手实践-优雅草央千澈-用ai开发小游戏尝试-分享源代码和游戏包
【01】做一个精美的打飞机小游戏,浅尝阿里云通义灵码python小游戏开发AI编程-之飞机大战小游戏上手实践-优雅草央千澈-用ai开发小游戏尝试-分享源代码和游戏包
232 48
【01】做一个精美的打飞机小游戏,浅尝阿里云通义灵码python小游戏开发AI编程-之飞机大战小游戏上手实践-优雅草央千澈-用ai开发小游戏尝试-分享源代码和游戏包
【02】做一个精美的打飞机小游戏,python开发小游戏-鹰击长空—优雅草央千澈-持续更新-分享源代码和游戏包供游玩-记录完整开发过程-用做好的素材来完善鹰击长空1.0.1版本
【02】做一个精美的打飞机小游戏,python开发小游戏-鹰击长空—优雅草央千澈-持续更新-分享源代码和游戏包供游玩-记录完整开发过程-用做好的素材来完善鹰击长空1.0.1版本
69 7
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
133 31
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
|
3月前
|
课程设计项目之基于Python实现围棋游戏代码
游戏进去默认为九路玩法,当然也可以选择十三路或是十九路玩法 使用pycharam打开项目,pip安装模块并引用,然后运行即可, 代码每行都有详细的注释,可以做课程设计或者毕业设计项目参考
84 33
|
10月前
|
如何使用Python实现“猜数字”游戏
本文介绍了使用Python实现“猜数字”游戏的过程。游戏规则是玩家在给定范围内猜一个由计算机随机生成的整数,猜对则获胜。代码中,首先导入random模块生成随机数,然后在循环中获取玩家输入并判断大小,提供猜小、猜大提示。通过增加猜测次数限制、难度选择、优化输入提示和图形化界面等方式可优化游戏。这篇文章旨在帮助初学者通过实际操作学习Python编程。
364 2
Python实现猜数字游戏
Python实现猜数字游戏
170 0
用python写出一个猜数字游戏
用python写出一个猜数字游戏
99 4
|
10月前
|
用 Python 写一个猜数字游戏并运行它
用 Python 写一个猜数字游戏并运行它
49 0
Python猜数字游戏:集成高级AI对手
Python猜数字游戏:集成高级AI对手
149 0
零基础Python教程034期 random随机数开发猜数字游戏
零基础Python教程034期 random随机数开发猜数字游戏
316 0

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等