Coding Caprice - monotonic stack1

server/2024/12/17 11:49:32/

739. 每日温度

class Solution {
public:vector<int> dailyTemperatures(vector<int>& temperatures) {stack<int> st;int numt = temperatures.size();vector<int> out(numt, 0);for(int i=0; i<numt; ++i){while(!st.empty() && temperatures[i]>temperatures[st.top()]){out[st.top()] = i-st.top();st.pop();}st.push(i);}return out;}
};

496. 下一个更大元素 I

class Solution {
public:vector<int> nextGreaterElement(vector<int>& nums1, vector<int>& nums2) {stack<int> st;int len1 = nums1.size();int len2 = nums2.size();vector<int> out_2(len2, -1);vector<int> out_1(len1, -1);unordered_map<int, int> um;for(int i=0; i<len2; ++i){um[nums2[i]] = i;while(!st.empty() && nums2[i]>nums2[st.top()]){out_2[st.top()] = nums2[i];st.pop();}st.push(i);}for(int i=0; i<len1; ++i){if(um.count(nums1[i])!=0){out_1[i] = out_2[um[nums1[i]]];}}return out_1;}
};

503. 下一个更大元素 II

class Solution {
public:vector<int> nextGreaterElements(vector<int>& nums) {stack<int> st;int len = nums.size();vector<int> out(len, -1);for(int i=0; i<len*2; ++i){int indice = i%len;while(!st.empty() && nums[indice]>nums[st.top()]){out[st.top()] = nums[indice];st.pop();}st.push(indice);}return out;}
};


http://www.ppmy.cn/server/150884.html

相关文章

每天40分玩转Django:Django模型

Django框架学习第2天&#xff1a;Django模型 一、课程概述 学习项目具体内容预计用时模型定义模型类编写、字段类型、关系类型90分钟ORM操作增删改查、高级查询、聚合函数90分钟数据库迁移迁移命令、迁移文件、数据导入导出60分钟 二、模型定义 2.1 基本模型结构 # blog/mo…

scala的泛型特质的应用场景

//泛型特质的应用场景 //作比较找出最大值 //定义一个函数&#xff0c;用来求List元素中的最大值参考代码&#xff1a;object Test4 {def getMax[T](list:List[T])(implicit ev:T > Ordered[T]): T {list.reduce((a:T,b:T)> if(a>b) a else b)}def main(args: Array…

因特网的发展三个阶段

因特网的发展大致分为哪几个阶段&#xff0c;这几个阶段的主要特点 第一个阶段——单个网络到互联网 1969年美国创建第一个分组交换的单个网络ARPANET&#xff08;单个的分组交换网&#xff09;所有要连接在ARPANET上的主机都直接与就近的节点交换机相连&#xff1b; 20世纪…

React系列(一)——React的入门和组件化思想

前言 React是现在前端使用频率最高的三大框架之一&#xff0c;React率先提出虚拟DOM的思想和实现&#xff0c;使其保持有良好的性能。同时&#xff0c;掌握React语法不仅可以写Web应用的页面&#xff0c;还可以写IOS和安卓的页面&#xff0c;可以说是实用性很强的框架了。本篇文…

《操作系统 - 清华大学》7 -2:全局页面置换算法:两个全局置换算法

文章目录 1. 工作集页面置换算法1.1 工作集置换算法示例 2. 缺页率页面置换算法2.1 缺页率2.2 缺页率页面置换算法2.3 缺页率置换算法示例 1. 工作集页面置换算法 它的思想很简单&#xff0c;前面介绍了工作集的概念&#xff0c;有一个工作集的窗口&#xff0c;窗口由 t Δ &a…

FlowNex 中的两相建模基础知识

通过 FlowNex 中的两相建模解开高效流体动力学的秘密&#xff0c;彻底改变制造业。 挑战 两相流是指两个不同相&#xff08;通常是液体和气体&#xff09;同时流动&#xff0c;它们具有不同的特性和行为。在制造业中&#xff0c;了解两相流对于优化热交换器、化学反应器和流体…

git常用指令

1.克隆远程仓库&#xff08;第一次获取项目时使用&#xff09;&#xff1a; git clone <repository_url> 2.从远程仓库master分支拉取最新的变更&#xff08;如果你已经克隆了仓库&#xff0c;只需要更新本地副本&#xff09;&#xff1a; git pull origin master 3.…

Scala的隐式对象

Scala中&#xff0c;隐式对象&#xff08;implicit object&#xff09;是一种特殊的对象&#xff0c;它可以使得其成员&#xff08;如方法和值&#xff09;在特定的上下文中自动可用&#xff0c;而无需显式地传递它们。隐式对象通常与隐式参数和隐式转换一起使用&#xff0c;以…