Day58力扣打卡

打卡记录

下一个更大元素 IV(单调栈 x2)

链接

python 复制代码
class Solution:
    def secondGreaterElement(self, nums: List[int]) -> List[int]:
        ans = [-1] * len(nums)
        s = []
        t = []
        for i, x in enumerate(nums):
            while t and nums[t[-1]] < x:
                ans[t.pop()] = x  # t 栈顶的下下个更大元素是 x
            j = len(s) - 1
            while j >= 0 and nums[s[j]] < x:
                j -= 1  # s 栈顶的下一个更大元素是 x
            t += s[j + 1:]  # 把从 s 弹出的这一整段元素加到 t
            del s[j + 1:]  # 弹出一整段元素
            s.append(i)  # 当前元素(的下标)加到 s 栈顶
        return ans
相关推荐
bIo7lyA8v6 分钟前
算法中的随机化思想及其复杂度收益评估的技术8
算法
数据法师11 分钟前
视频文件重复检测工具:基于哈希与视频指纹的三级筛选机制
算法·音视频·哈希算法
极光代码工作室12 分钟前
基于深度学习的手写数字识别系统
人工智能·python·深度学习·神经网络·机器学习
其实防守也摸鱼13 分钟前
软件安全与漏洞--Windows底层原理与软件逆向工程基础
linux·网络·数据库·算法·安全·安全架构·软件安全与漏洞
geovindu17 分钟前
python: speech to text offline
开发语言·python·语音识别
AI创界者28 分钟前
告别云端限制!Sulphur 2 本地文生视频/图生视频整合包,本地部署,解压即用,保姆级部署与工作流实战
人工智能·python·aigc·音视频
bIo7lyA8v43 分钟前
算法稳定性与数据分布的内在联系研究的技术8
算法
tsfy20031 小时前
Python批量调整Excel格式,并排版导出PDF
python·pdf·excel
木囧1 小时前
PyCharm手动创建虚拟环境
ide·python·pycharm
李可以量化1 小时前
QMT 量化实践:两种方式获取个股上市日期(内置 Python + 原生 Python 完整可运行代码)
python