leetcode做题笔记55

给定一个非负整数数组 nums ,你最初位于数组的 第一个下标

数组中的每个元素代表你在该位置可以跳跃的最大长度。

判断你是否能够到达最后一个下标。

思路一:贪心

cpp 复制代码
bool canJump(int* nums, int numsSize){
    int n = numsSize-1;
    for(int i = numsSize - 2;i>=0;i--)
    {
        if(nums[i]+i>=n)    n = i;
    }
    if(n==0)return true;
    else return false;
}

时间复杂度O(n),空间复杂度O(1)

分析:

本题问是否能到达最后一个下标,可考虑从后向前遍历,判断前一个是否能够到达后一个即可,不断向前遍历,当n==0时说明遍历完全,返回true,编写时注意到最后一个数没用,可以直接跳过。

总结:

本题考察贪心算法的应用,想到从后向前遍历的方法即可快速解决。

相关推荐
Alice-YUE几秒前
ai对话平台中的functioncalling+mcp
前端·笔记·学习·语言模型
峥无9 分钟前
Linux进程控制完全笔记(fork→exec→wait→Shell)
linux·笔记·unix
ReaF_star14 分钟前
K8s Pod调度【学习笔记】
笔记·学习·kubernetes
Yzzz-F16 分钟前
Problem - D - Codeforces
算法
chas_8820 分钟前
macbook air M5 32G本地跑ddtree-mlx效果
算法
programhelp_22 分钟前
WeRide OA 2026 高频真题分享 & 详细备战指南
经验分享·算法·面试·职场和发展
程序员大辉31 分钟前
Beaver Notes(海狸笔记)v4.4.0 中文版 ,开源免费、本地存储、零追踪的笔记软件
笔记·开源
菜菜的顾清寒1 小时前
Leetcode (18) 力扣100 矩阵置零
算法
叛逆的小小黄1 小时前
maxent建模结果中响应曲线的美化
经验分享·笔记·r语言·maxent
董董灿是个攻城狮1 小时前
5分钟搞懂微调的能力退化问题
算法