代码随想录 打卡第四十七天

739 每日温度

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

496 下一个更大元素 I

cpp 复制代码
class Solution {
public:
    vector<int> nextGreaterElement(vector<int>& nums1, vector<int>& nums2) {
        vector<int> answer(nums1.size(),-1);
        stack<int> st;
        unordered_map<int,int> mp;
        for(int i = 0;i < nums1.size();i++){
            mp[nums1[i]] = i;
        }

        for(int i = 0;i < nums2.size();i++){
            while(!st.empty() && nums2[i] > st.top()){
                if(mp.find(st.top()) != mp.end()) answer[mp[st.top()]] = nums2[i];
                st.pop();
            }
            st.push(nums2[i]);
        }
        return answer;
    }
};

503 下一个更大元素 II

cpp 复制代码
class Solution {
public:
    vector<int> nextGreaterElements(vector<int>& nums) {
        vector<int> answer(nums.size(),-1);
        stack<int> st;
        for(int i = 0; i < 2 * nums.size();i++){
            while(!st.empty() && nums[i%nums.size()] > nums[st.top()]){
                answer[st.top()] = nums[i%nums.size()];
                st.pop();
            }
            st.push(i%nums.size());
        }
        return answer;
    }
};
相关推荐
BK贝壳3 小时前
bool-hybrid-array 落盘我只认 .bha:用 Create_BHA / Ask_BHA 做布尔数组序列化
数据结构·python·numpy·1024程序员节
企业数字化笔记6 小时前
视频人体姿态怎么做三维可视化?2D关键点、深度局限与技术选型
人工智能·算法·音视频
?abc!6 小时前
(数组)581. 最短无序连续子数组
数据结构·算法·leetcode
小郎君6589 小时前
MPTT树复选框的半选状态:一棵百万节点树从递归到计数器,再到区间覆盖
算法
酌沧9 小时前
MemT让记忆成为模型内生能力
jvm·人工智能·算法
hold?fish:palm9 小时前
40 二叉树的直径
c++·leetcode
Shimeri10 小时前
越卷越像:我用遗传算法做了个"内卷"实验
算法·three.js·数据可视化·遗传算法·进化算法
Evand J10 小时前
【PMSM例程1】永磁同步电机(PMSM)转速与转子电角度观测算法|基于扩展卡尔曼滤波(EKF)的传感器状态估计与误差。附下载链接
算法·电机·1024程序员节·卡尔曼滤波
guo_wen_qiang10 小时前
二叉树的层序遍历-使用双端队列Deque
算法·leetcode·1024程序员节
爱读书的小胖10 小时前
LeetCode 55 跳跃游戏 C 语言解题分析
c语言·数据结构·算法·leetcode·1024程序员节