跳跃游戏 II

跳跃游戏 II

思路:

想到用队列,一层一层往外扩。

相当于暴力了,还是过了,因为稍微剪了一点枝。

代码:

cpp 复制代码
class Solution {
public:
    int jump(vector<int>& nums) {
        int n=nums.size();
        queue<int> q;//<下标>
        unordered_map<int,int> m;//键值对:键:下标  值:最小次数
        q.push(0);
        m[0]=0;
        while(!q.empty())
        {
            auto t=q.front();
            q.pop();
            int zuiyuanjuli=t+nums[t];
            for (int i = t + 1; i <= zuiyuanjuli && i < n; i++) 
            {
                // 如果没有访问过或者找到了更少的跳跃次数
                if (m.find(i) == m.end() || m[t] + 1 < m[i]) 
                {
                    m[i] = m[t] + 1;
                    q.push(i); // 将新位置加入队列
                    // 如果已经到达终点
                    if (i == n - 1)
                     {
                        return m[i];
                    }
                }
            }
            
        }
        return m[n-1];
    }
};

动态规划:

dp[i]:表示到达i所需的最短次数。

cpp 复制代码
const int N = 1e4+10;
int dp[N];
class Solution {
public:
    int jump(vector<int>& nums) {
        memset(dp,0x3f,sizeof dp);
        dp[0]=0;
        for(int i=0;i<nums.size();i++)
        {
            int step=nums[i];
            for(int j=i+1;j<=i+step&&j<nums.size();j++)
            {
                dp[j]=min(dp[j],dp[i]+1);
            }
        }
        return dp[nums.size()-1];
    }
};

贪心:

觉得代码不咋好理解,好难啊。。。

相关推荐
风酥糖12 小时前
Godot游戏练习01-第24节-多人游戏暂停菜单,游戏优化
游戏·游戏引擎·godot
CDN36013 小时前
游戏盾 SDK 混淆后失效?豁免规则与打包配置解决方案
运维·游戏·网络安全
huwuhang14 小时前
Winkawaks街机游戏模拟器整合ROM版 1.65 汉化修正完整版 2026.03.30
android·游戏·游戏机
智算菩萨14 小时前
【Pygame】第20章 从0到1构建贪吃蛇:基于Pygame的游戏架构与状态机设计实战(有超详细中文注释)
python·游戏·pygame
wanhengidc16 小时前
云手机 性能不受限 数据安全
服务器·网络·安全·游戏·智能手机
ZJH__GO17 小时前
java--飞机大战游戏
java·游戏
智算菩萨18 小时前
【Pygame】第23章 平台跳跃游戏:基于有限状态机的2D平台物理模拟与摄像机视口管理系统(有超详细中文注释供大家学习)
python·游戏·pygame
CCIE-Yasuo18 小时前
《永恒战士2-无双战神》无限金币版(提供apk下载)安卓Android逆向记录学习-Deepseek-AI辅助
android·java·学习·游戏
代码小书生18 小时前
Windows X-Lite Win11 26H1 v3 游戏优化系统!集Win11、Win10、Win7三代优点,兼顾游戏办公生产算力,系统精简纯净
windows·游戏·windows x-lite·windows 游戏版·windows优化版·老电脑系统
竹之却18 小时前
【Minecraft】无法连接至服务器,登录失败:无效会话(请尝试重启游戏及启动器)
运维·服务器·游戏·我的世界·minecraft