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,编写时注意到最后一个数没用,可以直接跳过。

总结:

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

相关推荐
lueluelue472 小时前
LeetCode:链表
算法·leetcode·链表
橘子汽水1685 小时前
Leetcode 23,543合并K个升序链表,二叉树的直径
算法·leetcode·链表
huameinan狮子5 小时前
Adaboost算法原理与计算实例
算法
六点_dn5 小时前
RabbitMQ学习笔记-部署和使用
笔记·学习·rabbitmq
别怪我很水5 小时前
API中提供了VelocityTracker类用于计算触摸事件MotionEvent的速度,而其内部默认使用的方法就是最小二乘法,本 ...
算法·gitee·最小二乘法
2501_926978337 小时前
以说明书 DNA 为模板——完整 AGI 的结构图景
前端·人工智能·经验分享·笔记·ai写作
天天爱吃肉82187 小时前
商用车多体动力学实战笔记|第6篇:动力传动系统(发动机、变速箱、分动器、TCS、LSD限滑差速)
大数据·人工智能·笔记·python·嵌入式硬件·汽车
IT19957 小时前
Dify 实战笔记:工作流核心玩法 + 开源 AI 应用全解析
笔记
dong1326978 小时前
Agent Skills学习笔记
笔记·学习