首页 > 编程语言 >57天【代码随想录算法训练营34期】第十章 单调栈part01

57天【代码随想录算法训练营34期】第十章 单调栈part01

时间:2024-05-27 11:23:20浏览次数:23  
标签:part01 List 57 随想录 len int temperatures stack nums2

739. 每日温度
单调栈指的是只增加或只减少的stack,相当于一个memo

class Solution:
    def dailyTemperatures(self, temperatures: List[int]) -> List[int]:
        answer = [0] * len(temperatures)
        stack = [0]
        for i in range(1, len(temperatures)):
            while len(stack) != 0 and temperatures[i] > temperatures[stack[-1]]:
                answer[stack[-1]] = i - stack[-1]
                stack.pop(-1)
            stack.append(i)
        return answer

496.下一个更大元素 I

class Solution:
    def nextGreaterElement(self, nums1: List[int], nums2: List[int]) -> List[int]:
        result = [-1] * len(nums1)
        stack = [0]

        for i in range(1, len(nums2)):
            if nums2[i] <= nums2[stack[-1]]:
                stack.append(i)
            else:
                while len(stack) != 0 and nums2[i] > nums2[stack[-1]]:
                    if nums2[stack[-1]] in nums1:
                        index = nums1.index(nums2[stack[-1]])
                        result[index] = nums2[i]
                    stack.pop()
                stack.append(i)
        return result

标签:part01,List,57,随想录,len,int,temperatures,stack,nums2
From: https://www.cnblogs.com/miramira/p/18215133

相关文章

  • 代码随想录算法训练营第十八天 | 513.找树左下角的值
    513.找树左下角的值题目链接文章讲解视频讲解classSolution{public:intmaxDepth=INT_MIN;intresult;intfindBottomLeftValue(TreeNode*root){intdepth=0;traversal(root,depth);returnresult;}voi......
  • 代码随想录算法训练营第三天 |203、707、206
    链表基础理论:https://programmercarl.com/链表理论基础.html203题目链接:https://leetcode.cn/problems/remove-linked-list-elements/203代码随想录:https://programmercarl.com/0203.移除链表元素.html#算法公开课707题目链接:https://leetcode.cn/problems/design-linked-lis......
  • 【例0157】ask blend parameters 请求混合参数
    文章作者:里海来源网站:NX二次开发官方案例专栏简介《askblendparameters请求混合参数》这是一个NX二次开发官方小例子,下面是代码和解析。相较于混乱、未经验证的代码,官方案例能够确保开发者获得准确的开发方法,这些官方示例代码经过严格测试,能够正确地反映出NX软件的......
  • 代码随想录算法训练营第第18天 | 513.找树左下角的值 、112. 路径总和 、106.从中
    找树左下角的值本地递归偏难,反而迭代简单属于模板题,两种方法掌握一下题目链接/文章讲解/视频讲解:https://programmercarl.com/0513.找树左下角的值.html/***Definitionforabinarytreenode.*functionTreeNode(val,left,right){*this.val=(val===undef......
  • 软件工程日报057
     第一天第二天第三天第四天第五天所花时间(包括上课) 1h    代码量(行) 290    博客园(篇) 1    所学知识 掉落物品设置为可捡起的PickAbleObject    ......
  • Day36 代码随想录打卡|二叉树篇---翻转二叉树
    题目(leecodeT226):给你一棵二叉树的根节点 root ,翻转这棵二叉树,并返回其根节点。方法:迭代法翻转二叉树,即从根节点开始,一一交换每个节点的左右孩子节点,然后递归此过程,将根节点的左右孩子节点再分别作为参数传入交换节点的函数中。重复此过程,直到结束。就完成了二叉树的翻......
  • TAS5711带EQ和DRC支持2.1声道的20W立体声8V-26V数字输入开环D类数字功放音频放大器
    前言数字功放很难搞,寄存器很多,要配置正确才有声音,要想声音好,要好好调整。TAS5711出道很多年了,现在仍然在不少功放、音箱中能看到。TAS5711特征音频输入/输出从18V电源向8Q负载提供20W功率宽PVDD范围:8V至26V高效的D类操作,无需散热器一个串行音频输入(两个音......
  • 代码随想录算法训练营第三十七天|435. 无重叠区间、763.划分字母区间、56. 合并区间、
    435.无重叠区间文档讲解:代码随想录题目链接:.-力扣(LeetCode)本道题与上个题目相似,都是求重叠区间统计重叠区间的个数,减去重叠区间的个数就是无重叠区间了主要就是为了让区间尽可能的重叠。(为什么)按照左边界排序①如果i的左边界大于等于上一个区间的右边界,就没有重叠......
  • 代码随想录算法训练营第十六天 | 104.二叉树的最大深度、559.n叉树的最大深度、111.二
    104.二叉树的最大深度题目链接:https://leetcode.cn/problems/maximum-depth-of-binary-tree/文档讲解:https://programmercarl.com/0104.%E4%BA%8C%E5%8F%89%E6%A0%91%E7%9A%84%E6%9C%80%E5%A4%A7%E6%B7%B1%E5%BA%A6.html#%E7%AE%97%E6%B3%95%E5%85%AC%E5%BC%80%E8%AF%BE......
  • 代码随想录算法训练营第36期DAY38
    DAY38435无重叠区间昨晚很快就想出来了,今天相当于二刷。class Solution {public:    static bool mycmp(vector<int>&a,vector<int>&b){        return a[1]<b[1];    }    int eraseOverlapIntervals(vector<vector<int>>& intervals) {   ......