leetcode做题笔记45

给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums0

每个元素 numsi 表示从索引 i 向前跳转的最大长度。换句话说,如果你在 numsi 处,你可以跳转到任意 numsi + j 处:

0 <= j <= numsi

i + j < n

返回到达 numsn - 1 的最小跳跃次数。生成的测试用例可以到达 numsn - 1

思路一:贪心算法

cpp 复制代码
int jump(int* nums, int numsSize){
    int flag = numsSize -1;
    int res = 0;
    while(flag!=0)
    {
        for(int i  = 0;i<numsSize;i++)
        {
            if(nums[i]+i>=flag)
            {
                flag =i;
                res++;
                break;
            }
        }


    }

    return res;
}

分析:

本题要求最小跳跃次数,可从后向前考虑,即求到达最后一个的最前一个的元素,求此元素的方法则是从前向后遍历,若numsi+i>=flag则flag=i,再进行循环。

总结:

本题使用贪心算法,即考虑如何最快到达最后一个,便可求出最小跳跃次数

相关推荐
逆境不可逃5 分钟前
Pi Agent 学习笔记:不同模型如何接入同一套工具循环
笔记·学习
Q264336502324 分钟前
【有源码】基于机器学习的电信网络诈骗话术语义识别与可视化分析系统 XGBoost算法+Hadoop+Spark
大数据·hadoop·算法·机器学习·spark·毕业设计·课程设计
♪飙♪32 分钟前
电气笔记——表的认识
笔记
不会就选b34 分钟前
算法日常・每日刷题--贪心<11>
算法·leetcode·职场和发展
PC2005-cloud38 分钟前
Rust学习笔记:所有权、借用与生命周期——Rust的核心机制
笔记·学习·rust
千里码aicood39 分钟前
面向电商冷启动与数据稀疏性的协同过滤算法优化研究
大数据·算法·协同过滤
xxxiugou12340 分钟前
双指针解题秘籍:从入门到精通
c语言·数据结构·c++·算法
能源革命41 分钟前
TimesFM(Time Series Foundation Model)介绍
算法·能源
猎嘤一号44 分钟前
学术训练(一)文献检索与阅读
人工智能·算法·机器学习·科研入门
弘毅 失败的 mian1 小时前
数组和指针基础
c语言·开发语言·经验分享·笔记