leetcode-55. 跳跃游戏
-
设置k为每次起跳最远能到哪里
-
循环遍历,i为当前所在格子,每次判断一下k能否达到当前格子
-
每次循环维护k,k一直为能最远跳到的距离,取上次k与当前格子+当前能跳到最远的距离的最大值。
public boolean canJump(int[] nums) { int k = 0; //跳完最远能到那 for(int i = 0; i < nums.length; i++){ if(i > k){ return false;//如果当前的位置超过了跳完最远的位置,直接返回false } k = Math.max(k, i + nums[i]); //维护跳完最远的距离,取(上一次最远能到的距离,现在所在的位置+能跳的距离也就是这一次能跳到的位置)的最大值 } return true; }
分类:
算法
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律