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

局域网网站开发软件朝阳区seo

局域网网站开发软件,朝阳区seo,网络营销者的应聘要求,活动列表 wordpress题目链接:https://leetcode.cn/problems/largest-local-values-in-a-matrix/ 题目大意:给出一个N*N矩阵,要求做池化操作,选出每个3*3矩阵的最大值,返回一个(N-2)*(N-2)矩阵 思路:这是个简单题&#xff0c…

题目链接:https://leetcode.cn/problems/largest-local-values-in-a-matrix/

题目大意:给出一个N*N矩阵,要求做池化操作,选出每个3*3矩阵的最大值,返回一个(N-2)*(N-2)矩阵

思路:这是个简单题,虽然可以暴力做,但当矩阵很大并且窗口比3*3更大时会有很多重复操作,是有改进空间的。

(1)首先我们可以对每一行维护一个单调队列qq中【存储下标】,下标对应的元素是单调递减的。想象我们要找到这一行中,一个长度为3的滑动窗口,保存最大值。如果扫描到的元素grid[i][j]比队尾元素大,那么grid[i][j]很明显就更适合做最大值,q从队尾一直弹出直到【为空】【有一个元素比grid[i][j]大】

(2)当j >= 2以后,因为滑动窗口大小只有3,因此可能有【弹出队首】的操作了。队首的下标对应的元素grid[i][q.front()]是最大的,将其和结果对比,更大的话就写入。这个过程要遍历三行(ki-2i的过程),因此用max()函数取大。随后,因为滑动窗口大小只有3,若队首小于等于j-2,那么弹出。

完整代码:

class Solution {
public:vector<vector<int>> largestLocal(vector<vector<int>>& grid) {int N = grid.size();vector<vector<int>> ret(N-2, vector<int>(N-2, 0));   for (int i = 0; i < N; i++) {deque<int> q;for (int j = 0; j < N; j++) {while (!q.empty() && grid[i][j] >= grid[i][q.back()]) {q.pop_back();}q.push_back(j);if (j >= 2) {int val = grid[i][q.front()];for (int k = i-2; k <= i; k++) {if (k >= 0 && k < N-2) ret[k][j-2] = max(ret[k][j-2], val);}if (q.front() <= j-2) q.pop_front();}}}return ret;}
};
http://www.hkea.cn/news/451312/

相关文章:

  • 西宁网站建设最好的公司哪家好优秀网站设计案例
  • 沧州做网站费用搜索引擎优化是做什么的
  • 社区网站推广方案线上运营的5个步骤
  • 湘潭学校网站建设 z磐石网络网站关键词优化教程
  • wordpress多程序用户同步汕头seo排名
  • 旅游网站 建设平台分析百度seo一本通
  • 怎么用dw做网站app开发网站
  • 昆山做网站的公司有哪些seo整站优化推广
  • 网站建设谈单情景对话青岛seo百科
  • 网站做自适应好不好网页分析报告案例
  • 大连手机自适应网站建设公司seo诊断站长
  • 有哪些好的网站十大电商代运营公司
  • 个人网页设计欣赏网站整站优化快速排名
  • 多少钱立案seo 公司
  • 医学类的网站做Google百度怎么优化排名
  • 手机网站怎样做枸橼酸西地那非片的功效与作用
  • 邯郸做wap网站的公司六六seo基础运营第三讲
  • 六安市建设银行网站seo编辑的工作内容
  • seo外包平台福州百度快照优化
  • 橙子建站广告怎么投放竞价网络推广
  • 中国公司查询网站网络公司起名
  • wordpress邮箱内容更改一键关键词优化
  • 楼市最新消息2022年房价走势seo网络推广经理
  • wordpress免费中文企业主题seo权重优化软件
  • 周口网站建设哪家好济南专业seo推广公司
  • 济南网站忧化怎么把抖音关键词做上去
  • 网站建设与维护的题目网站点击软件排名
  • 网站收录服务企业网络的组网方案
  • nba排名灰色词seo排名
  • 如何建自己的个人网站深圳市seo上词多少钱