贪心算法(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));
    }
}
相关推荐
代码不停15 分钟前
Java单链表和哈希表题目练习
java·开发语言·散列表
Dxxyyyy17 分钟前
零基础学JAVA--Day37(坦克大战1.0)
java·开发语言
OranTech21 分钟前
第28节课-夕夕超市收银系统(下)-笔记
java
IDOlaoluo29 分钟前
jakarta-tomcat-connectors-jk2-src.tar.gz 安装教程(详细步骤及附安装包)
java·tomcat
SheepHappy35 分钟前
MyBatis-Plus 源码阅读(三)条件构造器原理深度剖析
java·源码阅读
zhaomy202536 分钟前
从ThreadLocal到ScopedValue:Java上下文管理的架构演进与实战指南
java·后端
用户849137175471642 分钟前
从源码看设计:Java 集合框架的安全性与性能权衡 (基于 JDK 1.8)
java·面试
D***t13143 分钟前
云服务在在线游戏中的架构
游戏·架构
华仔啊43 分钟前
10分钟搞定!SpringBoot+Vue3 整合 SSE 实现实时消息推送
java·vue.js·后端
l***77521 小时前
总结:Spring Boot 之spring.factories
java·spring boot·spring