贪心算法(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));
    }
}
相关推荐
running up1 天前
Spring核心深度解析:AOP与事务管理(TX)全指南
java·数据库·spring
一水鉴天1 天前
整体设计 定稿 之6 完整设计文档讨论及定稿 之1(豆包周助手)
java·前端·数据库
五阿哥永琪1 天前
Spring Boot 权限控制三件套:JWT 登录校验 + 拦截器 + AOP 角色注解实战
java·spring boot·python
光算科技1 天前
商品颜色/尺码选项太多|谷歌爬虫不收录怎么办
java·javascript·爬虫
派大鑫wink1 天前
分享一些在Spring Boot中进行参数配置的最佳实践
java·spring boot·后端
想学习java初学者1 天前
SpringBoot整合MQTT多租户(优化版)
java·spring boot·后端
代码栈上的思考1 天前
MyBatis XML的方式来实现
xml·java·mybatis
阿拉斯攀登1 天前
Spring Boot 深度解析:核心原理与自动配置全解
java·spring boot
AM越.1 天前
Java设计模式超详解--观察者设计模式
java·开发语言·设计模式
专注VB编程开发20年1 天前
c#语法和java相差多少
java·开发语言·microsoft·c#