单调栈
单调栈
加油开心
你好呀
展开
-
leetcode:每日温度
用单调栈做,套用单调栈经典模板。原创 2024-08-21 12:49:49 · 115 阅读 · 0 评论 -
leetcode:下一个更大元素II
i = 2n-1,i%n就可以了,循环取数组值。当然你也可以不直接加倍,可以间接加倍。然后再套用求下一个更大元素模板即可。比如数组1,2,3,4,5,长度5。比如1,2构造成1,2,1,2。可以考虑构造成双倍数组。这里使用的是直接加倍。原创 2024-04-05 10:45:22 · 171 阅读 · 0 评论 -
leetcode:下一个更大元素I
就是nums1中元素的下一个更大,要在nums2先找到该元素,然后再nums2中求下一个更大。可以先建立一个哈希表,存储nums2中元素与其映射,然后根据nums1查找哈希表即可。常规做法就是for循环遍历nums1中每一个元素,求其在nums2中的下一个更大。就是nums1中元素的下一个更大。相对于单一数组求下一个更大元素。但这样做时间复杂度n平方。原创 2024-04-05 09:54:29 · 166 阅读 · 0 评论 -
leetcode:链表中的下一个更大节点
先获取链表长度,然后逆序链表,因为要从最后一个元素开始往里放。每压入一个元素,如果前面一个比他小那就弹出,重复,问题是链表,便麻烦了,思路不变。直到前面那个比他大即可。这样栈中就是单调递增的。之后就是上一段介绍的。原创 2024-04-03 13:41:04 · 227 阅读 · 0 评论