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

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

题目:

     给定一个长度为n的0索引整数数组nums。初始位置为nums [0]。每个元素nums[i]表示从索引i向前跳转的最大长度。换句话说,如果你在nums[i] 处,你可以跳转到任意 nums[i+j] 处:
    1.0<=j<=nums [i]
    2. i+j<n
  返回到达 nums[n-1)的最小跳跃次数。生成的测试用例可以到达 nums [n- 1]。

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

           2,层序遍历。

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));
    }
}

相关文章:

  • Git 命令操作完全指南
  • Redis常用数据类型深度解析:从理论到最佳实践
  • 2025最新3个wordpress好用的主题
  • LeetCode热题100JS(64/100)第十二天|79|131|51|35|74
  • SpringCloud alibaba专题-第一章
  • Rust从入门到精通之精通篇:22.Unsafe Rust 详解
  • 【GL012】C++ 易混点二
  • 分布式架构-Spring技术如何能实现分布式事务
  • 如何解决Redis缓存异常问题(雪崩、击穿、穿透)
  • k8s存储介绍(三)valume概述与emptydir
  • Java基础 3.25
  • Git更改暂存 : Git Pull 错误的快速解决方法
  • LeetCode142环形链表
  • 代码随想录算法训练营第五十六天 | 108.冗余连接 109.冗余连接II
  • 代码随想录算法训练营第四十一天|买卖股票专题:121. 买卖股票的最佳时机、122.买卖股票的最佳时机II、123.买卖股票的最佳时机III
  • 质检LIMS系统在食品生产加工企业的应用 如何保证食品生产企业的安全
  • Unity2022发布Webgl2微信小游戏部分真机黑屏
  • pytorch小记(十五):pytorch中 交叉熵损失详解:为什么logits比targets多一个维度?
  • 13 python 数据容器-元组
  • GitLab 部署说明
  • 网站建设后需要录入/谷歌seo工具
  • 新网站做seo优化步骤/百度推广电话销售好做吗
  • html5移动网站开发实例/怎么做好网络营销