zoukankan      html  css  js  c++  java
  • Leedcode45:跳跃游戏II

    Leedcode45:跳跃游戏II

    题目描述:

    1. 给定一个非负整数数组,你最初位于数组的第一个位置。
    2. 数组中的每个元素代表你在该位置可以跳跃的最大长度。
    3. 你的目标是使用最少的跳跃次数到达数组的最后一个位置。

    解题思路:

    1. 每一次跳跃过程中,在可能跳跃的范围内,跳到下一次可跳跃最远的距离;
    2. 通过遍历每一次跳跃范围内,最大可达到的最远距离;
    3. 在遍历过程中,若当前位置已到起跳点的最大距离,则跳跃次数+1,并将遍历中,最远跳跃距离赋值给当前最远跳跃距离。

    特殊情况:

    1. 遍历跳跃最远位置时,最后一个数组元素不遍历;
    2. 当数组元素只有一个时,跳跃步数为0。
    class Solution {
    public:
        int jump(vector<int>& nums) 
        {
            int maxlen=0;
            int k=0;
            int end=0;
          
            for (int i=0; i<(nums.size()-1); i++)
            {
                if (maxlen < nums[i]+i)
                {
                    maxlen=nums[i]+i;   //遍历寻找最大值
                }
                //maxlen=max(maxlen, nums[i]+i);    //通过函数寻找最大值
                if (i == end)
                {
                    k++;
                    end=maxlen;
                }
            }
            return k;
        }
    };
    
  • 相关阅读:
    MySQL 数据类型
    MySQL 存储引擎
    在Windows上安装MySQL
    windows 查看端口占用
    Linux 配置静态IP
    Nginx 核心配置
    Nginx 简介
    Linux下使用Nginx
    Tomcat 核心配置
    Tomcat 项目部署、账户配置、状态监测
  • 原文地址:https://www.cnblogs.com/Tavi/p/12514050.html
Copyright © 2011-2022 走看看