代码随想录算法训练营第57天|● 739. 每日温度 ● 496.下一个更大元素 I

单调栈:维持一个单调的栈,用于解决离最近的比自己大or小的元素的距离

739. 每日温度

和之前那个top k 最小堆感觉思路是一样的

python 复制代码
class Solution:
    def dailyTemperatures(self, temperatures: List[int]) -> List[int]:
        ans=[0]*len(temperatures)
        stack=[0]
        for i in range(1,len(temperatures)):
            if temperatures[i]<=temperatures[stack[-1]]:
                stack.append(i)
            else:
                while stack and temperatures[i]>temperatures[stack[-1]]:
                    ans[stack[-1]]=i-stack[-1]
                    stack.pop()
                stack.append(i)
        return ans

496. 下一个更大元素 I

和上一题思路一样,实现上稍微绕了一下

python 复制代码
class Solution:
    def nextGreaterElement(self, nums1: List[int], nums2: List[int]) -> List[int]:
        res=[-1]*len(nums1)
        stack=[0]
        for i in range(1,len(nums2)):
            if nums2[i]<=nums2[stack[-1]]:
                stack.append(i)
            else:
                while stack and nums2[i]>nums2[stack[-1]]:
                    if nums2[stack[-1]] in nums1:
                        idx=nums1.index(nums2[stack[-1]])
                        res[idx]=nums2[i]
                    stack.pop()
                stack.append(i)
        return res
相关推荐
zh_xuan4 分钟前
c++ string_view
开发语言·c++
阿里嘎多学长6 分钟前
2026-09-05 GitHub 热点项目精选
开发语言·程序员·github·代码托管
古少侠10 分钟前
用 DS随心转 把 AI 画的 Mermaid 流程图转成 Word 里的高清图
开发语言·c#·word
2601_9622974811 分钟前
一、Python GUI 的十字路口:免费凑活还是付费破局
python·gui·tkinter·customtkinter·bravurasdk
无限码力14 分钟前
华为非AI方向笔试真题【工厂落点最小加权路程】
算法·华为·华为非ai方向笔试真题·华为笔试真题·华为最新笔试真题·华为笔试题库
万年咸鱼16 分钟前
Java BufferedOutputStream 详解:原理、用法与性能优化
java·开发语言·性能优化
residual_fan20 分钟前
数据缺失填补算法之CUR-Estimator
算法·数据挖掘·数据分析
万年咸鱼23 分钟前
Java BufferedInputStream 详解:原理、用法与实战
java·开发语言·python
my059224 分钟前
跳出单一信息工具局限:奥米豆构建认知与心智并行的学习范式
大数据·人工智能·python·学习
weixin1997010801625 分钟前
[特殊字符]《二手ERP × 闲鱼消息驱动架构:正向+逆向交易消息如何驱动WMS出库与回传》(附Python源码)
开发语言·python·架构