首页 > 其他分享 >模板-选择最少的区间数目可以覆盖连续区间[0,n]

模板-选择最少的区间数目可以覆盖连续区间[0,n]

时间:2023-02-27 18:23:31浏览次数:36  
标签:return nums int ans 最少 mr 区间 end 模板

方法:

首先建立一个一维数组nums, nums[i] 表是在当前位置上还能向右跑几步;

然后更新最右距离:

// nums 最优距离数组
    // t 要跳的位置
    public int jump(int[] nums, int t) {
        int n = nums.length;
        if(n==1){
            return 0;
        }
        int mr = 0; // 能跳的最右边的位置
        int ans = 0; // 跳的次数
        int end = 0; // 上一次跳的最右边位置
        for (int i = 0; i < n; i++) {
            if(i>mr) {
                return -1;
            }
            mr = Math.max(mr, nums[i]+i);
            if(mr>t){
                return ans+1;
            }
            if(end == i){
                end = mr;
                ans++;
            }
        }
        return ans;
    }

 

标签:return,nums,int,ans,最少,mr,区间,end,模板
From: https://www.cnblogs.com/r1-12king/p/17161402.html

相关文章

  • P5788 【模板】单调栈
    P5788【模板】单调栈【模板】单调栈题目背景模板题,无背景。2019.12.12更新数据,放宽时限,现在不再卡常了。题目描述给出项数为n的整数数列a_{1...n}。定义函数......
  • C++模板
    写在前面现在我们来开启C++不同于C语言的地方.大家都知道C语言没有标准的数据结构相关的库,而C++存在STL,原因就是C++支持泛型编程,这是我们今天需要知道重点,先来简单的认......
  • 模板设计模式
    1、什么是模板设计模式把抽象类(AbstractClass)整体看作是一个模板,模板中不能决定的东西定义成抽象方法(AbstractMethod),让继承的子类去重写抽象方法实现需求。2、使用......
  • 随记一下之模板语法
    模板语法介绍:双层大括号{{}}是默认的模板界定符,用于在HTML模板文件中界定模板语法。模板语法都包含在{{和}}中间。{{.}}语句{{.}}中的点表示当前对象......
  • 6366. 在网格图中访问一个格子的最少时间(dijkstra在矩阵上的运用)
    题目https://leetcode.cn/problems/minimum-time-to-visit-a-cell-in-a-grid/description/思路首先,这是一个最短路问题直接用朴素记忆化搜索或者bfs无法实现“反复......
  • WPF知识点备忘录——控件模板
    模板<Application.Resources><ResourceDictionary><!--将画刷等从模板拆分出来,方便重用--><RadialGradientBrushRadiusX="1"R......
  • c++函数模板
    函数模板是通用的函数描述,也就是说,它们使用泛型来定义函数,其中的泛型可用具体的类型(如int或double)替换。例如如果定义一个2个数交换值的函数,如果2个数是int,那就需要定义一......
  • 2023.2.26【模板】扩展Lucas定理
    2023.2.26【模板】扩展Lucas定理题目概述求\(\binom{n}{m}mod\)\(p\)的值,不保证\(p\)为质数算法流程(扩展和普通算法毫无关系)由于\(p\)不是质数,我们考虑[SDOI201......
  • 区间 (interval)
    题目链接:https://ac.nowcoder.com/acm/problem/16722差分模版#include<bits/stdc++.h>usingnamespacestd;#definelllonglongllsum[1000005];lla[1000005];......
  • Hive 刷题——区间合并
    需求描述给定多个时间段,每个时间段分为开始时间、结束时间,将相互重叠的多个时间段合并为一个区间。--数据:id、开始时间、结束时间10011618100217191003293210......