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

LeetCode 刷题【45. 跳跃游戏 II】

45. 跳跃游戏 II

自己做

解1:逐步递归(超时)

class Solution {
public:void dfs(vector<int>& nums, int i, int layer, int &min){int len = nums.size();if(i == len - 1){            //跳到最后一位了  if(layer < min)min = layer;                            //记录最小值return;                                 //结束递归}for(int j = 1; j <= nums[i]; j++)       //选取不同的跳跃值if(i + j < len)                 //如果跳跃值在范围内就继续递归dfs(nums, i + j, layer + 1, min);} int jump(vector<int>& nums) {int min = nums.size();dfs(nums, 0, 0, min);return min;}
};

解2:延伸扩展

class Solution {
public:int jump(vector<int>& nums) {int len = nums.size();int min = 0;int i = 0;while (i < len - 1) {           //抵达最后一格之前if (i + nums[i] >= len - 1) {       //最后一跳min++;break;}int max = i + 1;          //延伸的最大范围的下标for (int j = 2; j <= nums[i]; j++)      //找到能延伸的最大范围if (i + j < len && i + j + nums[i + j] > max + nums[max])max = i + j;i = max;                //更新基点(跳跃一次)min++;                  //标记延伸一次}return min;}
};

http://www.dtcms.com/a/336860.html

相关文章:

  • 云计算-云上实例部署 RocketChat:Mongodb、主从数据库、Node 环境配置指南
  • 生信分析自学攻略 | R软件和Rstudio的安装
  • 今日行情明日机会——20250818
  • 华为服务器设置bios中cpu为性能模式
  • week2-[循环结构]找出正数
  • element-plus:el-tree ref初始化异常记录
  • 【前端面试题】JavaScript 核心知识点解析(第一题到第三十题)
  • MQTT(轻量级消息中间件)基本使用指南
  • 套接字超时控制与服务器调度策略
  • JavaScript基础语法three
  • 时序数据库 Apache IoTDB:从边缘到云端Apache IoTDB 全链路数据管理能力、部署流程与安全特性解读
  • UTMatrix VS VideoLingo 到底哪个好?
  • 在openEuler系统中如何查看文件夹下每个文件的大小
  • 从零到GPT:Transformer如何引领大模型时代
  • 基于C语言实现的HRV分析方法 —— 与Kubios和MATLAB对比
  • 力扣70:爬楼梯
  • Java基础(九):Object核心类深度剖析
  • 【Linux指南】gcc/g++编译器:从源码到可执行文件的全流程解析
  • DELL服务器 R系列 IPMI的配置
  • Linux 编译器 gcc 与 g++
  • Linux磁盘阵列
  • 开源Verilog仿真即波形模拟工具iVerilog初步教程
  • 香港数据合集:建筑物、手机基站、POI、职住数据、用地类型
  • Java 中表示数据集的常用集合类
  • 【快速解决】Redis配置问题以及解决方法
  • 世界模型之自动驾驶
  • 实战架构思考及实战问题:Docker+‌Jenkins 自动化部署
  • 基于Android的随身小管家APP的设计与实现/基于SSM框架的财务管理系统/android Studio/java/原生开发
  • Rust 教程之简介000
  • 【网络安全实验报告】实验六: 病毒防护实验