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

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.dtcms.com/a/354527.html

相关文章:

  • 用 PyTorch 搭建 CNN 实现 MNIST 手写数字识别
  • 如何开发线下陪玩儿小程序
  • 【图像处理基石】DCT在图像处理中的应用及实现
  • natapp 内网穿透
  • 【iOS】Masnory自动布局的简单学习
  • 图算法详解:最短路径、拓扑排序与关键路径
  • 使用 httpsok 工具全面排查网站安全配置
  • Nginx + Certbot配置 HTTPS / SSL 证书(简化版已测试)
  • Android稳定性问题的常见原因是什么
  • JSP程序设计之JSP指令
  • react+vite+ts 组件模板
  • CVPR2025丨VL2Lite:如何将巨型VLM的“知识”精炼后灌入轻量网络?这项蒸馏技术实现了任务专用的极致压缩
  • 传统星型拓扑结构的5G,WiFi无线通信网络与替代拓扑结构自组网
  • BGP路由协议(一):基本概念
  • UE的SimpleUDPTCPSocket插件使用
  • 百度地图+vue+flask+爬虫 推荐算法旅游大数据可视化系统Echarts mysql数据库 带沙箱支付+图像识别技术
  • 【数字黑洞2178】2022-10-28
  • Linux学习-TCP并发服务器构建(epoll)
  • 【C++】C++11的右值引用和移动语义
  • Unity游戏打包——iOS打包基础、上传
  • 使用Docker部署ZLMediaKit流媒体服务器实现gb/t28181协议的设备
  • Day30 多线程编程 同步与互斥 任务队列调度
  • ArcGIS学习-12 实战-综合案例
  • Unity游戏打包——iOS打包pod的重装和使用
  • Flutter:ios打包ipa,证书申请,Xcode打包,完整流程
  • Intern-S1-mini模型结构
  • SpringBoot系列之实现高效批量写入数据
  • 专项智能练习(图形图像基础)
  • 文本处理与模型对比:BERT, Prompt, Regex, TF-IDF
  • 高精度惯性导航IMU价格与供应商