当前位置: 首页 > wzjs >正文

做指甲的网站营销渠道策划方案

做指甲的网站,营销渠道策划方案,做网站域名重要吗,typecodes wordpress这段文字描述的是使用单调队列&#xff08;Monotonic Queue&#xff09; 解决滑动窗口最大值问题的优化算法。我来简单解释一下&#xff1a; 核心思路 问题分析&#xff1a;在滑动窗口中&#xff0c;若存在两个下标 i < j 且 nums[i] ≤ nums[j]&#xff0c;则 nums[i] 永远…

这段文字描述的是使用单调队列(Monotonic Queue) 解决滑动窗口最大值问题的优化算法。我来简单解释一下:

核心思路

  1. 问题分析:在滑动窗口中,若存在两个下标 i < jnums[i] ≤ nums[j],则 nums[i] 永远不可能成为后续窗口的最大值(因为 j 会比 i 更晚离开窗口)。因此,可以提前淘汰 nums[i]

  2. 数据结构选择:使用双端队列(Deque)维护一个单调递减的下标序列,确保队列中元素对应的值从队首到队尾严格递减。

  3. 维护单调队列

    • 插入新元素:将新元素与队尾比较,若新元素更大,则不断弹出队尾,直到满足单调性。
    • 淘汰旧元素:检查队首元素是否已超出窗口范围,若超出则弹出队首。

算法步骤

  1. 初始化队列:遍历前 k 个元素,维护单调队列。
  2. 处理每个窗口
    • 淘汰旧元素:若队首下标超出窗口左边界,弹出队首。
    • 插入新元素:将当前元素下标加入队尾,弹出所有不大于当前值的队尾元素。
    • 记录最大值:队首元素对应的值即为当前窗口的最大值。
  3. 滑动窗口:重复步骤2,直到处理完所有窗口。

示例代码(C++)

#include <iostream>
#include <vector>
#include <deque>
using namespace std;vector<int> maxSlidingWindow(vector<int>& nums, int k) {int n = nums.size();vector<int> result;if (n == 0 || k == 0) return result;deque<int> q; // 存储下标,对应的值单调递减// 初始化第一个窗口(前k个元素)for (int i = 0; i < k; ++i) {// 弹出所有比当前元素小的队尾下标(维护单调递减)while (!q.empty() && nums[i] >= nums[q.back()]) {q.pop_back();}q.push_back(i);}result.push_back(nums[q.front()]); // 第一个窗口的最大值// 滑动窗口处理后续元素for (int i = k; i < n; ++i) {// 淘汰已离开窗口的队首下标(左边界为i-k+1,下标<=i-k时淘汰)while (!q.empty() && q.front() <= i - k) {q.pop_front();}// 维护单调递减:弹出所有比当前元素小的队尾下标while (!q.empty() && nums[i] >= nums[q.back()]) {q.pop_back();}q.push_back(i);result.push_back(nums[q.front()]); // 当前窗口最大值}return result;
}// 测试示例
int main() {vector<int> nums = {1, 3, -1, -3, 5, 3, 6, 7};int k = 3;vector<int> res = maxSlidingWindow(nums, k);cout << "滑动窗口最大值:";for (int num : res) {cout << num << " ";}// 输出:3 3 5 5 6 7return 0;
}

复杂度分析

  • 时间复杂度:O(n),每个元素最多入队和出队一次。
  • 空间复杂度:O(k),队列中最多存储 k 个元素。

关键点

  • 单调队列:通过维护单调性,避免重复比较,将暴力算法的 O(nk) 优化到 O(n)。
  • 双端队列:支持 O(1) 时间复杂度的队首和队尾操作。
  • 应用场景:适用于求解滑动窗口最大值/最小值、子数组最大和等问题。
http://www.dtcms.com/wzjs/524585.html

相关文章:

  • 网站没收录淘宝客推广
  • 怎样查看网站是用什么做的互联网营销师是哪个部门发证
  • 一家公司做网站需要什么资料seo零基础培训
  • 网站模板 可做采集站网站快速收录教程
  • 网站群建设方案6如何用手机创建网站
  • 企业做定制网站的好处百度问答优化
  • 个人网站设计图企业网站seo点击软件
  • 新疆维吾尔自治区交通建设管理局网站如何制作简单的网页链接
  • 英文学习网站我是新手如何做电商
  • 为什么做网站的会弄友情链接优化营商环境发言材料
  • 黄页大全有哪些windows优化大师卸载不掉
  • 如何给网站文字做超链接北京网站优化专家
  • 做外贸网站教程长沙seo网络营销推广
  • 怎么做物流网站广告销售如何寻找客户
  • 院系网站建设具体要求百度搜索链接入口
  • 门户网站策划方案十大免费网站推广平台有哪些
  • 深圳做网站的公玉溪seo
  • 宁波企业网站搭建价格东莞搜索排名提升
  • 网站文明建设工程包括百度推广收费多少
  • 网页网站开发平台免费推广网站排名
  • 惠州做棋牌网站建设哪家技术好seo类目链接优化
  • 莱芜搜狗推广哪家好seo接单平台有哪些
  • 二手书交易网站策划书汕头seo管理
  • 个人简历制作网站seo流量增长策略
  • 电子商务网站开发与实现百度seo优化排名
  • 西安做酒店用品的网站百度人工申诉客服电话
  • 福州专业网站建设网络公司百度推广一天烧几千
  • 微信公众号涨粉 网站优化设计六年级上册语文答案
  • 学校网站建设调研报告做推广的公司一般都叫什么
  • vps wordpress站点慢2022黄页全国各行业