贪心算法(10)(java)跳跃游戏

题目:

给定一个长度为n的0索引整数数组nums。初始位置为nums [0]。每个元素nums[i]表示从索引i向前跳转的最大长度。换句话说,如果你在nums[i] 处,你可以跳转到任意 nums[i+j] 处:

1.0<=j<=nums [i]

  1. i+j<n

返回到达 nums[n-1)的最小跳跃次数。生成的测试用例可以到达 nums [n- 1]。

解法:1.贪心策略(不推荐)

2,层序遍历。

java 复制代码
public class Solution {
    public int jump(int[]nums){
        int left=0,right=0,maxPos=0,n= nums.length,ret=0;
        while (left<=right){//以防跳不到n-1的位置
            if(maxPos>=n-1)//判断是否以经跳到最后一个位置
            {
                return ret;
            }
            for (int i=left;i<=right;i++)//更新下一层最右端点
            {
                maxPos=Math.max(maxPos,nums[i]+i);

            }
            left=right+1;
            right=maxPos;
            ret++;
        }
        return -1;
    }

    public static void main(String[] args) {
        Solution solution=new Solution();
        int []nums={2,3,1,1,4};
        System.out.println(solution.jump(nums));
    }
}
相关推荐
代码改变世界1008616 分钟前
像素塔防游戏:像素守卫者
css·游戏·css3·1024程序员节
九皇叔叔35 分钟前
Java循环结构全解析:从基础用法到性能优化
java·开发语言·性能优化
流星52112243 分钟前
GC 如何判断对象该回收?从可达性分析到回收时机的关键逻辑
java·jvm·笔记·学习·算法
csdn_aspnet43 分钟前
Java 圆台体积和表面积计算程序(Program for Volume and Surface area of Frustum of Cone)
java
杯莫停丶1 小时前
设计模式之:外观模式
java·设计模式·外观模式
乐之者v1 小时前
Mac常用软件
java·1024程序员节
TDengine (老段)1 小时前
TDengine 数据函数 ROUND 用户手册
java·大数据·数据库·物联网·时序数据库·tdengine·1024程序员节
TDengine (老段)1 小时前
TDengine 数学函数 RAND 用户手册
java·大数据·数据库·物联网·时序数据库·tdengine·涛思数据
從南走到北1 小时前
JAVA无人自助共享系统台球室源码自助开台约球交友系统源码小程序
java·微信·微信小程序·小程序·1024程序员节
野犬寒鸦1 小时前
从零起步学习MySQL || 第十章:深入了解B+树及B+树的性能优势(结合底层数据结构与数据库设计深度解析)
java·数据库·后端·mysql·1024程序员节