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

45.跳跃游戏

:双层for。复杂度n*n   n

class Solution {public int jump(int[] nums) {// 找到所有的条约方法,返回其中的最小次数// 从后向前,依次记录到最后的次数int n = nums.length;if(n == 1) return 0;// int[] temp = new int[n];// temp[n-1] = 0;for(int i = n - 2; i >= 0; i--){if(i + nums[i] >= n-1){temp[i] = 1;continue;}if(nums[i] == 0) {// 设置成n,意味着不可达temp[i] = n;continue;}int min = Integer.MAX_VALUE;for(int j = i+1; j <= Math.min(i+nums[i], n-2); j++){min = Math.min(min, temp[j]);}temp[i] = min+1;}return temp[0];}
}

:简化。可以直接在原数组上设置最小长。空间复杂度  1

public int jump(int[] nums){int n = nums.length;if(n == 1) return 0;for(int i = n - 1; i >= 0; i--){if(i == n-1) nums[i] = 0;if(i + nums[i] >= n-1){nums[i] = 1;continue;}if(nums[i] == 0){nums[i] = n;continue;}int min = Integer.MAX_VALUE;for(int j = i+1; j <= Math.min(i+nums[i], n-2); j++){min = Math.min(min, nums[j]);}nums[i] = min + 1;}return nums[0];
}

 :复杂度:n 1

public int jump(int[] nums){int range = 0;int maxRange = 0;int cnt = 0;// 注意i的条件,不要遍历最后一个元素for(int i = 0; i < nums.length - 1; i++){maxRange = Math.max(maxRange, i + nums[i]);if(i == range){cnt++;range = maxRange;}}return cnt;
}

 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 爬虫练习_01
  • 代码随想录算法day16 | 二叉树part06 | 654.最大二叉树,617.合并二叉树,700.二叉搜索树中的搜索,98.验证二叉搜索树
  • 做报表用什么工具?不想再用Excel了!!!
  • Tomcat漏洞
  • Python配置文件格式——INI、JSON、YAML、XML、TOML
  • golang使用channel实现读写锁
  • Qt使用lupdate工具生成.ts文件
  • DevOps环境搭建
  • Python | Leetcode Python题解之第326题3的幂
  • STM32 标准库移值RTThread
  • LeetCode226 翻转二叉树
  • 学习方法[1]:如何摆脱无知?(致尚未放弃学习的人)
  • Allegro如何更改过孔的网络
  • NoSQL 详细讲解
  • MySQL预处理语句(PREPARE)和动态SQL
  • 【划重点】MySQL技术内幕:InnoDB存储引擎
  • angular2 简述
  • C# 免费离线人脸识别 2.0 Demo
  • ES6--对象的扩展
  • java2019面试题北京
  • java正则表式的使用
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • vuex 笔记整理
  • Web设计流程优化:网页效果图设计新思路
  • WordPress 获取当前文章下的所有附件/获取指定ID文章的附件(图片、文件、视频)...
  • 和 || 运算
  • 基于webpack 的 vue 多页架构
  • 如何设计一个微型分布式架构?
  • 如何胜任知名企业的商业数据分析师?
  • 一道面试题引发的“血案”
  • 一个6年java程序员的工作感悟,写给还在迷茫的你
  • 宾利慕尚创始人典藏版国内首秀,2025年前实现全系车型电动化 | 2019上海车展 ...
  • 第二十章:异步和文件I/O.(二十三)
  • ​​快速排序(四)——挖坑法,前后指针法与非递归
  • ​无人机石油管道巡检方案新亮点:灵活准确又高效
  • ‌前端列表展示1000条大量数据时,后端通常需要进行一定的处理。‌
  • # 20155222 2016-2017-2 《Java程序设计》第5周学习总结
  • #define 用法
  • #我与Java虚拟机的故事#连载06:收获颇多的经典之作
  • (145)光线追踪距离场柔和阴影
  • (C)一些题4
  • (day 2)JavaScript学习笔记(基础之变量、常量和注释)
  • (php伪随机数生成)[GWCTF 2019]枯燥的抽奖
  • (Repost) Getting Genode with TrustZone on the i.MX
  • (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)讲解
  • (二)正点原子I.MX6ULL u-boot移植
  • (附源码)springboot车辆管理系统 毕业设计 031034
  • (接口自动化)Python3操作MySQL数据库
  • (论文阅读23/100)Hierarchical Convolutional Features for Visual Tracking
  • ./configure,make,make install的作用(转)
  • .equals()到底是什么意思?
  • .net core使用ef 6
  • .Net FrameWork总结
  • .Net Web窗口页属性
  • .net 流——流的类型体系简单介绍