当前位置: 首页 > news >正文

LeetCode.55.跳跃游戏(贪心算法思路)

题目描述:

给你一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。

判断你是否能够到达最后一个下标,如果可以,返回 true ;否则,返回 false

输入输出实例:

思路:要判断最后我们是否能到达最后一个位置,我们可以选择遍历数组,使用贪心的思路,找在每个位置时能到达的最远距离,最开始我们在0,可以达到的最远距离为nums[0],遍历数组,如果位置 'i' 在当前的最远距离范围内,我们比较当前最远距离和(i + nums[i])取更大的那个,进行最远可达位置的更新,在这个过程中,一旦最远可达位置超过或等于最后的位置,我们就可以retur True,否则我们返回False。根据上述思路,有以下代码:

class Solution:def canJump(self, nums: List[int]) -> bool:#最远可达位置max_site = nums[0]for i in range(len(nums)):if i <= max_site :max_site = max(max_site , i + nums[i])if max_site >= len(nums) - 1 :return Truereturn False

 


http://www.mrgr.cn/news/11163.html

相关文章:

  • 【国产游戏技术:能否引领全球?】
  • 数学建模学习(124):使用Python实现模糊ARAS方法从原理到实战
  • 集合及数据结构第九节————树和二叉树
  • 【MySql】 mysql的组从复制
  • FFmpeg下载与集成:.NET开发者入门指南
  • Nginx学习(第二天)
  • 太赞了!MJ级细节质感!影视级数据升级!SD RealMyth-真神武侠XL丨写实国风-电影质感
  • 小程序常用的模板语法
  • Base CTF [第2周]UPX的
  • 流体力学告诉你,如何最快地炫一瓶啤酒?
  • C# 三种定时器的用法
  • 0基础学习Python路径(27)sys模块
  • 大数据挖掘的步骤是怎样的呢?
  • 如何使用ChatGPT进行数据共享和处理
  • 对派生类指针使用C风格的强制类型转换为基类指针
  • 谷粒商城实战笔记-249-商城业务-消息队列-RabbitMQ工作流程
  • 新手入门:Python+Selenium自动化测试(爬虫),如何自动下载WebDriver!
  • 2025秋招大语言模型落地实践面试题
  • 小程序审核昵称敏感词问题修复方案
  • Python使用Tesseract OCR识别文字