欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 高考 > 力扣1696.跳跃游戏 VI

力扣1696.跳跃游戏 VI

2024/10/24 14:24:28 来源:https://blog.csdn.net/Pisasama/article/details/140551155  浏览:    关键词:力扣1696.跳跃游戏 VI

力扣1696.跳跃游戏 VI

递推

在这里插入图片描述

  •   class Solution {public:int maxResult(vector<int>& nums, int k) {int n = nums.size();vector<int> f(n);f[0] = nums[0];for(int i=1;i<n;i++)f[i] = *max_element(f.begin() + max(i-k,0),f.begin() + i) + nums[i];return f[n-1];}};
    

单调队列优化

  • 保证队首就是转移来源最大值的下标

  •   class Solution {public:int maxResult(vector<int>& nums, int k) {int n = nums.size();vector<int> f(n);f[0] = nums[0];deque<int> q = {0};for(int i=1;i<n;i++){if(q.front() < i - k)q.pop_front();f[i] = f[q.front()] + nums[i];while(!q.empty() && f[i] >= f[q.back()])q.pop_back();q.push_back(i);}return f[n-1];}};
    

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com