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开发小游戏尝试-分享源代码和游戏包
323 48
【01】做一个精美的打飞机小游戏,浅尝阿里云通义灵码python小游戏开发AI编程-之飞机大战小游戏上手实践-优雅草央千澈-用ai开发小游戏尝试-分享源代码和游戏包
【02】做一个精美的打飞机小游戏,python开发小游戏-鹰击长空—优雅草央千澈-持续更新-分享源代码和游戏包供游玩-记录完整开发过程-用做好的素材来完善鹰击长空1.0.1版本
【02】做一个精美的打飞机小游戏,python开发小游戏-鹰击长空—优雅草央千澈-持续更新-分享源代码和游戏包供游玩-记录完整开发过程-用做好的素材来完善鹰击长空1.0.1版本
116 7
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
205 31
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
|
5月前
|
课程设计项目之基于Python实现围棋游戏代码
游戏进去默认为九路玩法,当然也可以选择十三路或是十九路玩法 使用pycharam打开项目,pip安装模块并引用,然后运行即可, 代码每行都有详细的注释,可以做课程设计或者毕业设计项目参考
105 33
Python 高级编程与实战:深入理解性能优化与调试技巧
本文深入探讨了Python的性能优化与调试技巧,涵盖profiling、caching、Cython等优化工具,以及pdb、logging、assert等调试方法。通过实战项目,如优化斐波那契数列计算和调试Web应用,帮助读者掌握这些技术,提升编程效率。附有进一步学习资源,助力读者深入学习。
[oeasy]python081_ai编程最佳实践_ai辅助编程_提出要求_解决问题
本文介绍了如何利用AI辅助编程解决实际问题,以猫屎咖啡的购买为例,逐步实现将购买斤数换算成人民币金额的功能。文章强调了与AI协作时的三个要点:1) 去除无关信息,聚焦目标;2) 将复杂任务拆解为小步骤,逐步完成;3) 巩固已有成果后再推进。最终代码实现了输入验证、单位转换和价格计算,并保留两位小数。总结指出,在AI时代,人类负责明确目标、拆分任务和确认结果,AI则负责生成代码、解释含义和提供优化建议,编程不会被取代,而是会更广泛地融入各领域。
87 28
Python 高级编程与实战:深入理解数据科学与机器学习
本文深入探讨了Python在数据科学与机器学习中的应用,介绍了pandas、numpy、matplotlib等数据科学工具,以及scikit-learn、tensorflow、keras等机器学习库。通过实战项目,如数据可视化和鸢尾花数据集分类,帮助读者掌握这些技术。最后提供了进一步学习资源,助力提升Python编程技能。
|
2月前
|
[oeasy]python074_ai辅助编程_水果程序_fruits_apple_banana_加法_python之禅
本文回顾了从模块导入变量和函数的方法,并通过一个求和程序实例,讲解了Python中输入处理、类型转换及异常处理的应用。重点分析了“明了胜于晦涩”(Explicit is better than implicit)的Python之禅理念,强调代码应清晰明确。最后总结了加法运算程序的实现过程,并预告后续内容将深入探讨变量类型的隐式与显式问题。附有相关资源链接供进一步学习。
41 4
Python 高级编程与实战:深入理解设计模式与软件架构
本文深入探讨了Python中的设计模式与软件架构,涵盖单例、工厂、观察者模式及MVC、微服务架构,并通过实战项目如插件系统和Web应用帮助读者掌握这些技术。文章提供了代码示例,便于理解和实践。最后推荐了进一步学习的资源,助力提升Python编程技能。
Python 高级编程与实战:深入理解性能优化与调试技巧
本文深入探讨了Python的性能优化和调试技巧,涵盖使用内置函数、列表推导式、生成器、`cProfile`、`numpy`等优化手段,以及`print`、`assert`、`pdb`和`logging`等调试方法。通过实战项目如优化排序算法和日志记录的Web爬虫,帮助你编写高效稳定的Python程序。