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

跳跃游戏-算法

题目

给定一个数组nums = {1,2,3,4,5},每个元素nums[i]表示从i这个位置最多可以向前跳跃nums[i]个台阶,求最小需要跳几次就可以调到末尾

思路

反向查找

从末尾开始逐个向前判断最远的起跳位置,接着再以该位置递归的判断

public int jumpToTheEndWithMinSteps(int[] nums){int position = nums.length-1;int steps = 0;while(position>0){for(int i=0;i<position;i++){if(i+nums[i]>=position){position = i;steps++;break;            }        }    }return steps;
}

效果

时间复杂度:O(n^2)

空间复杂度:O(1)

正向查找

从i=0位置开始向后找,每次在当前最远位置如i,计算从i开始跳跃空间nums[i]内这个区间内能够跳的最远位置是哪里,然后以此类推

public int jumpToTheEndWithMinSteps(int[] nums){int length = nums.length;int end = 0;int maxPosition = 0;int steps = 0;for(int i=0;i<length;i++){//计算i<j<=end区间内能够跳的最远的位置,将其记录为maxPositionmaxPosition = Math.max(maxPosition,i+nums[i]);//每次区间结束,都更新一下最新调的最远的位置if(i==end){end = maxPosition;steps++;        }    }return steps;
}

效果

时间复杂度:O(n)

空间复杂度:O(1)

http://www.lryc.cn/news/287512.html

相关文章:

  • ERP系统哪个好用?用友,金蝶,ORACLE,SAP综合测评
  • 外汇天眼:美国证券交易委员会(SEC)采纳了一系列规定,以加强与特殊目的收购公司(SPACs)相关的投资者保护
  • kotlin map 与 flatmap
  • nginx-rtmp-module 支持 Enhancing RTMP HEVC(H.265)
  • 2024最新JDK1.8+JDK17+JDK21安装包下载+文档
  • 如何利用chatgpt提升工作效率
  • WinSCP下载安装并实现远程SSH本地服务器上传文件
  • QEMU搭建arm虚拟机开发环境
  • web 应用常见的安全问题
  • 502. IPO
  • 如何安装MeterSphere并实现无公网ip远程访问服务管理界面
  • 做FP独立站怎么引流?这个引流法宝收好了!
  • 幻兽帕鲁PalWorld服务器搭建教程,1分钟开服,纯小白教程,无需基础
  • 算法小抄01
  • Spring Boot 集成 API 文档 - Swagger、Knife4J、Smart-Doc
  • 2024年软考报名时间及条件,小白必看
  • vue 跨域XMLHttpRequest
  • 【正点原子STM32】STM32基础知识(F1F4F7H7 STM32系统框架、寻址范围、存储器映射的存储器功能划分、寄存器映射)
  • Oracle、MySQL数据库常规命令语法-简易记录(非常规持续更新)
  • 用react搞定一个大模型对话效果
  • DP读书:在常工院的2023年度总结
  • 2023-2024年重庆职业院校技能大赛“信息安全管理与评估”比赛样题
  • 【Ubuntu】systemctl 命令
  • xinput1_3.dll文件的几种修复办法以及修复xinput1_3.dll注意事项
  • javaWebssh宠物基地管理系统myeclipse开发mysql数据库MVC模式java编程计算机网页设计
  • 常用的gpt-4 prompt words收集3
  • 为什么电脑降价了?
  • 归并排序-逆序对
  • 爬虫笔记(二):实战58二手房
  • 一站式VR全景婚礼的优势表现在哪里?