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

太原城市建设招标网站平台推广营销

太原城市建设招标网站,平台推广营销,2024年新闻时事热点论文,seo教程seo入门讲解代码随想录刷题60Day 目录 单调栈简介 单调栈的应用 下次更高温 下一个更大元素1 下一个更大元素2 接雨水 柱状图中最大矩形 单调栈简介 单调栈#xff08;Monotonic Stack#xff09;是一种特殊的栈数据结构#xff0c;它满足元素的单调性#xff0c;这种单调性需…代码随想录刷题60Day 目录 单调栈简介 单调栈的应用 下次更高温 下一个更大元素1 下一个更大元素2 接雨水 柱状图中最大矩形 单调栈简介 单调栈Monotonic Stack是一种特殊的栈数据结构它满足元素的单调性这种单调性需要自己建立和维护。单调栈分为单调递增栈和单调递减栈两种类型。 单调递增栈的特点是栈内元素从栈底到栈顶依次递增而单调递减栈则是栈内元素从栈底到栈顶依次递减。 单调栈的主要应用是解决一些与找到元素的下一个更大或更小相关的问题。它通过维护一个递增或递减的栈可以在常数时间内找到每个元素的下一个更大或更小的元素。 单调栈的基本操作包括 入栈将元素压入栈顶同时保持栈的单调性。 出栈从栈顶移除元素。 查找检查栈顶元素获取当前元素的下一个更大或更小的元素。 单调栈的应用 下次更高温 vectorint dailyTemperatures(vectorint temperatures) {int size temperatures.size();vectorint result(size, 0);stackint stack;stack.push(0);for (int i 1; i size; i){int j stack.top();if (temperatures[i] temperatures[j]){while (!stack.empty() temperatures[i] temperatures[j]){result[j] i - j;stack.pop();if (!stack.empty())j stack.top();}}stack.push(i);}return result;} 下一个更大元素1 vectorint nextGreaterElement(vectorint nums1, vectorint nums2) {int size1 nums1.size();int size2 nums2.size();unordered_mapint, int umap;stackint stack;vectorint result;stack.push(0);for (int i 1; i size2; i){int j stack.top();if (nums2[j] nums2[i]){while (!stack.empty() nums2[j] nums2[i]){umap.insert(pairint, int(nums2[j], nums2[i]));stack.pop();if (!stack.empty())j stack.top();}}stack.push(i);}for (int i 0; i size1; i){if (umap.find(nums1[i]) ! umap.end())result.push_back(umap[nums1[i]]);elseresult.push_back(-1);}return result;} 下一个更大元素2 vectorint nextGreaterElements(vectorint nums) {int size nums.size();vectorint dp(size, -1);stackint mystack;mystack.push(0);for (int i 1; i size; i){if (nums[i] nums[mystack.top()]){while (!mystack.empty() nums[i] nums[mystack.top()]){dp[mystack.top()] nums[i];if (!mystack.empty())mystack.pop(); }}mystack.push(i);}for (int i 0; i size; i){if (nums[i] nums[mystack.top()]){while (!mystack.empty() nums[i] nums[mystack.top()]){dp[mystack.top()] nums[i];if (!mystack.empty())mystack.pop(); }}mystack.push(i);}return dp;} 接雨水 int trap(vectorint h){if (h.size() 3)return 0;stackint mystack;int result 0;mystack.push(0);for (int i 1; i h.size(); i){if (h[mystack.top()] h[i])mystack.push(i);else if (h[mystack.top()] h[i]){while (!mystack.empty() h[mystack.top()] h[i]){int mid mystack.top();mystack.pop();if (!mystack.empty())result (min(h[mystack.top()], h[i]) - h[mid]) * (i - mystack.top() - 1); }if (!mystack.empty() h[mystack.top()] h[i])mystack.pop();mystack.push(i);}else{mystack.pop();mystack.push(i);}}return result;} 柱状图中最大矩形 int largestRectangleArea(vectorint h) {h.push_back(0);int size h.size();stackint mystack;int result h[0];mystack.push(0);for (int i 1; i size; i){if (h[i] h[mystack.top()]){mystack.pop();}else if (h[i] h[mystack.top()]){int mid, left;while (!mystack.empty() h[i] h[mystack.top()]){mid mystack.top();mystack.pop();if (!mystack.empty())left mystack.top();elseleft -1;result max(result, (i - left - 1) * h[mid]);}}mystack.push(i);}return result;}
http://www.w-s-a.com/news/109356/

相关文章:

  • 微信公众号个人可以做网站么做企业网站需要哪些
  • 如何用付费音乐做视频网站wordpress如何设置首页
  • 杨凯做网站网站首页 排版
  • 网站图片标签江苏省建设类高工申报网站
  • 网站建设中的英文什么网站可以做医疗设备的
  • 柳州购物网站开发设计服装网站的建设与管理
  • 做网站的上海市哪家技术好北京百姓网免费发布信息
  • 网站文章排版制作网站软件
  • 云南网站开发公司网站商城定制网站建设
  • 企业网站的新闻资讯版块有哪些肇庆自助建站模板
  • 怎么做平台网站吗为网站做seo需要什么
  • 苏州吴江建设局招标网站海南网站搭建价格
  • 网站建设主要研究内容用哪个程序做网站收录好
  • 网站建设如何开单装修设计图免费
  • 做内容网站赚钱吗seo推广具体做什么
  • 连山区网站建设seo简历
  • 自助建站系统官方版太仓高端网站制作
  • 怎样只做自己的网站建设银行唐山分行网站
  • 咸阳鑫承网站建设软件开发公司网站模板
  • 百度怎么免费做网站网站建设大作业有代码
  • 小说素材网站设计素材网站特点
  • 如何建设一个好的网站WordPress主题设置数据库
  • 网站被模仿十堰网站制作公司
  • 怎么样做免费网站个人网站备案幕布
  • 做ppt的动图下载哪些网站制作一个网站需要多少时间
  • 公司网站开发制作备案中的网站
  • 怎么看网站的收录网站开发先前台和后台
  • 合肥市做网站多少钱wordpress网站布置视频
  • 中国建设人才网信息网站软件外包公司好不好
  • 网站建设与管理 市场分析上海网站建设公司排名