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

总结:

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

相关推荐
猫猫猫喵4 分钟前
题目:素数列
算法
想成为高手49912 分钟前
深入理解二叉搜索树(BST)
数据结构·c++·算法
是阿建吖!14 分钟前
【优选算法】前缀和
算法
闻缺陷则喜何志丹1 小时前
【C++数论 因数分解】829. 连续整数求和|1694
c++·数学·算法·力扣··因数分解·组数
WRQ.卬1 小时前
P8615拼接平方数 & P2708 硬币翻转 & P1808 单词分类 题解
算法
抓哇能手1 小时前
机器学习基础
人工智能·opencv·算法·机器学习·计算机视觉·机器视觉
zhangpz_1 小时前
c ++零基础可视化——字符串
数据结构·c++·算法
cnftv1 小时前
中国山水画在他这里暂停拐了个弯儿再重启
笔记·其他·生活·娱乐·媒体
SoraLuna6 小时前
「Mac玩转仓颉内测版26」基础篇6 - 字符类型详解
开发语言·算法·macos·cangjie
雨中rain7 小时前
贪心算法(2)
算法·贪心算法