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

LeetCode 刷题【55. 跳跃游戏】

55. 跳跃游戏

自己做

解1:逐个检查

class Solution {
public:bool Jump(vector<int>& nums, int idx){if(idx == (int)nums.size() - 1)     //抵达终点,直接返回return true;if(nums[idx] == 0)       //如果跳到头了,还没有抵达终点,说明无法抵达return false;int max = 0;int max_idx = 0;                            for(int i = 1; i <= nums[idx]; i++){            //尝试跳跃1、2、3、4...nums[idx]格,看哪个能跳最远if(idx + i < (int)nums.size() && i + nums[idx + i] > max){max = i + nums[idx + i];                //更新跳跃距离最大值max_idx = idx + i;                      //更新下标}if(max_idx >= (int)nums.size() - 1)             //超出索引范围则说明可以抵达终点return true;}return Jump(nums, max_idx);                 //找到能跳跃最远的下标后面,递归继续往下找}bool canJump(vector<int>& nums) {return Jump(nums, 0);}
};

解2:遍历回溯

class Solution {
public:bool canJump(vector<int>& nums) {int i = 0;              //起始位置int end = 0;            //终止位置后一格while(i >= 0 && i < (int)nums.size() - 1){if(nums[i] == 0 && end < i + 1){    // 此路不通 => end < i + 1限制取最远终止位置end = i + 1;     //记录终止位置的后一格位置}if(i + nums[i] >= end)   //能跳跃到终止位置的后一个位置,把i移动到终止位置后一格的位置并且更新新的终止位置i = end++;              else                    //不能跳到终止位置后一个位置,回退上一格i--;}if(i == (int)nums.size() - 1)       //抵达终点return true;else                                //不能抵达终点return false;}
};

http://www.xdnf.cn/news/18967.html

相关文章:

  • 从协作机器人到智能协作机器人:工业革命的下一跳
  • 【JavaScript】递归的问题以及优化方法
  • 安宝特方案丨安宝特工业AR全链路解决方案
  • Unity游戏打包——iOS打包基础、上传
  • java后端的各种注解
  • Linux 禁止 su 的几种限制手段:从 NoNewPrivileges 到 PAM 配置
  • GitHub 宕机自救指南:确保开发工作不间断
  • 大数据毕业设计选题推荐-基于大数据的存量房网上签约月统计信息可视化分析系统-Hadoop-Spark-数据可视化-BigData
  • 学习嵌入式之驱动——I2C子系统
  • 深度学习篇---VGGNet
  • 一个基于物理信息神经网络(Physics-Informed Neural Network, PINN)的多变量时间序列预测模型MATLAB代码
  • Windows 7-11通用,这工具让电脑提速300%
  • 2025.8.28总结
  • HTTP 范围请求:为什么你的下载可以“断点续传”?
  • Chrome 插件开发实战:从入门到精通
  • vue2使用el-form动态参数展示并非空校验
  • 数据结构青铜到王者第九话---二叉树(2)
  • 自下而上的树形dp
  • 深度学习——卷积神经网络(PyTorch 实现 MNIST 手写数字识别案例)
  • pcl_案例2 叶片与根茎的分离
  • 机器视觉学习-day09-图像矫正
  • Day30 多线程编程 同步与互斥 任务队列调度
  • leetcode_73 矩阵置零
  • 【LLM】Transformer模型中的MoE层详解
  • vue布局
  • 架构设计——云原生与分布式系统架构
  • Android中设置RecyclerView滑动到指定条目位置
  • 搜维尔科技核心产品矩阵涵盖从硬件感知到软件渲染的全产品供应链
  • 万博智云联合华为云共建高度自动化的云容灾基线解决方案
  • 【Python开源环境】Anaconda/Miniconda