自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

数据艺术家

数据挖掘领域懵逼者

原创 LeetCode题解(0622):设计循环队列(Python)

题目:原题链接(中等)标签:队列解法时间复杂度空间复杂度执行用时Ans 1 (Python)所有操作 = O(1)O(1)O(1)O(K)O(K)O(K)80ms (89.72%)Ans 2 (Python)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一(使用定长列表实现):class MyCircularQueue: def

2020-08-08 12:15:51 8

原创 LeetCode题解(0621):计算需要冷却时间的CPU任务调度器的最短运行时间(Python)

题目:原题链接(中等)标签:哈希表、数学、贪心算法解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(Time)O(Time)O(Time) : 其中Time为最终结果O(1)O(1)O(1)284ms (16.18%)Ans 2 (Python)O(N)O(N)O(N) : 其中N为任务列表长度O(1)O(1)O(1)48ms (99.42%)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度

2020-08-08 12:04:04 29

原创 LeetCode题解(0363):矩阵区域不大于K的最大矩形和(Python)

题目:原题链接(困难)标签:数组、查找、查找-二分查找、动态规划、双指针解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(column2×row)O(column^2×row)O(column2×row) : 其中row为行数,column为列数O(row)O(row)O(row) : 其中row为行数1048ms (71.60%)Ans 2 (Python)Ans 3 (Python)LeetCode的Python执行用时随缘

2020-08-07 18:03:55 10

原创 LeetCode专项刷题顺序:栈

我通过对LeetCode中“栈”部分的免费题目进行归类、整理,归纳出如下推荐的刷题顺序。在刷题顺序的整理中,我主要遵循了如下规则:在题目分组方面,除综合题外,每组题目的技巧、方法均相似,方便统一学习;在各组题目的顺序方面,总体来说为由易到难,后一组题目比前一组略难一些,方便大家循序渐进;在每组题目的顺序方面,均为由易到难(难度为我依据自己的理解,对LeetCode给出的难度进行微调的结果),方便大家循序渐进。LeetCode栈部分刷题顺序第1组:栈的设计0155:【简单】设计能够在常数时间

2020-08-07 12:24:31 21

原创 LeetCode题解(1410):HTML特殊字符实体解析器(Python)

题目:原题链接(中等)标签:字符串解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)O(N)O(N)O(N)140ms (49.70%)Ans 2 (Python)O(N)O(N)O(N)O(N)O(N)O(N)56ms (98.82%)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一(字符串检索替换):

2020-08-07 10:10:47 9

原创 LeetCode题解(1381):设计一个支持增量操作的栈(Python)

题目:原题链接(中等)标签:栈解法时间复杂度空间复杂度执行用时Ans 1 (Python)push = O(1)O(1)O(1) ; pop = O(1)O(1)O(1) ; increment = O(K)O(K)O(K)O(N)O(N)O(N)144ms (72.34%)Ans 2 (Python)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。

2020-08-07 09:54:34 13

原创 LeetCode题解(1249):移除字符串中最少的无效括号使剩余的括号成对(Python)

题目:原题链接(中等)标签:栈解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)O(N)O(N)O(N)104ms (97.07%)Ans 2 (Python)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一(栈):def minRemoveToMakeValid(self, s: str) ->

2020-08-07 09:45:33 24

原创 LeetCode题解(1209):删除字符串中的所有相邻定长重复项(Python)

题目:原题链接(中等)标签:栈、字符串、正则表达式解法时间复杂度空间复杂度执行用时Ans 1 (Python)–O(N)O(N)O(N)4348ms (5.25%)Ans 2 (Python)O(N)O(N)O(N)O(N)O(N)O(N)88ms (71.61%)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一(正则表达式):def r

2020-08-07 09:35:05 12

原创 LeetCode题解(1190):反转字符串中每对括号间的子串(Python)

题目:原题链接(中等)标签:栈解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)O(N)O(N)O(N)40ms (78.74%)Ans 2 (Python)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一(栈):def reverseParentheses(self, s: str) -> str

2020-08-07 09:33:48 19

原创 LeetCode题解(1130):中序遍历的叶值的最小代价生成树(Python)

题目:原题链接(中等)标签:栈、栈-单调栈、二叉树、二叉树-遍历、动态规划解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)O(N)O(N)O(N)40ms (79.51%)Ans 2 (Python)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一(单调栈):def mctFromLeafValues(

2020-08-07 09:33:44 21

原创 LeetCode题解(1124):大于特定值的项数超过小于特定值项数的最长连续子串(Python)

题目:原题链接(中等)标签:解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)O(N)O(N)O(N)248ms (93.64%)Ans 2 (Python)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一(单调栈):def longestWPI(self, hours: List[int]) ->

2020-08-06 17:04:45 14

原创 LeetCode题解(1003):检查字符串是否由指定字符串拼接产生(Python)

题目:原题链接(中等)标签:字符串、栈解法时间复杂度空间复杂度执行用时Ans 1 (Python)–O(N)O(N)O(N)36ms (99.03%)Ans 2 (Python)O(N)O(N)O(N)O(N)O(N)O(N)56ms (59.42%)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一(字符串替换):[外链图片转存失败,源站

2020-08-06 13:07:07 25

原创 LeetCode题解(0975):数组里的奇偶跳游戏(Python)

题目:原题链接(困难)标签:栈、栈-单调栈、动态规划解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N2)O(N^2)O(N2)O(N)O(N)O(N)超出时间限制Ans 2 (Python)O(NlogN)O(NlogN)O(NlogN)O(N)O(N)O(N)372ms (49.02%)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意

2020-08-06 12:51:38 20

原创 LeetCode题解(0946):依据push和pop序列验证是否可能是空栈操作的结果(Python)

题目:原题链接(中等)标签:栈、情景模拟解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)O(N)O(N)O(N)32ms (100.00%)Ans 2 (Python)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一(情景模拟):[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(im

2020-08-06 10:57:01 3

原创 LeetCode题解(0921):使字符串括号有效最少需要添加多少个括号(Python)

题目:原题链接(中等)标签:字符串、正则表达式、栈解法时间复杂度空间复杂度执行用时Ans 1 (Python)––36ms (89.89%)Ans 2 (Python)O(N)O(N)O(N)O(N)O(N)O(N)40ms (74.95%)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一(正则表达式处理):def minAddToMak

2020-08-06 10:36:29

原创 LeetCode题解(0907):计算数组的所有子数组的最小值之和(Python)

题目:原题链接(中等)标签:栈、栈-单调栈、数组解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N2)O(N^2)O(N2)O(N)O(N)O(N)超出时间限制Ans 2 (Python)O(N)O(N)O(N)O(N)O(N)O(N)540ms (72.83%)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一(暴力解法):

2020-08-06 10:24:24

原创 LeetCode题解(0901):计算股票价格跨度(今日前连续小于或等于今日价格天数)(Python)

题目:原题链接(中等)标签:栈、栈-单调栈、设计解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)O(N)O(N)O(N)516ms (68.78%)Ans 2 (Python)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一(单调栈):class StockSpanner: def __init

2020-08-06 09:44:49 17

原创 LeetCode题解(0895):pop返回栈中最靠近栈顶的最大频率值的栈(Python)

题目:原题链接(困难)标签:栈、设计、哈希表解法时间复杂度空间复杂度执行用时Ans 1 (Python)push = O(1)O(1)O(1) ; pop = O(NlogN)O(NlogN)O(NlogN)O(N)O(N)O(N)超出时间限制Ans 2 (Python)push = O(1)O(1)O(1) ; pop = O(1)O(1)O(1)O(N)O(N)O(N)384ms (49.62%)Ans 3 (Python)LeetCod

2020-08-06 09:35:31 1

原创 LeetCode题解(0880):计算超长解码字符串中索引处的值(Python)

题目:原题链接(中等)标签:栈解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(K)O(K)O(K)O(K)O(K)O(K)超出时间限制Ans 2 (Python)O(N)O(N)O(N)O(1)O(1)O(1)32ms (97.06%)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一(直接记录字符串):def decode

2020-08-06 08:52:41

原创 LeetCode题解(0856):依据指定规则计算平衡括号字符串的分数(Python)

题目:原题链接(中等)标签:栈解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)O(N)O(N)O(N)32ms (96.56%)Ans 2 (Python)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一(栈):def scoreOfParentheses(self, S: str) -> int

2020-08-06 08:15:31 16

原创 LeetCode题解(0770):处理未知数的多项式计算器(Python)

LeetCode题解(0770):基本计算器(Python)题目:原题链接(困难)标签:类、正则表达式、字符串、递归、栈、哈希表解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(2N+N×M)O(2^N+N×M)O(2N+N×M) : N为表达式长度,M为求值映射长度O(N)O(N)O(N)76ms (40.00%)Ans 2 (Python)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂

2020-08-05 16:33:59 36

原创 LeetCode题解(0739):计算想要观测到更高气温所需等待的天数(Python)

题目:原题链接(中等)标签:栈、栈-单调栈解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)O(N)O(N)O(N)512ms (96.60%)Ans 2 (Python)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一(单调栈):def dailyTemperatures(self, T: List[i

2020-08-05 09:57:32 27

原创 LeetCode题解(0735):行星碰撞(Python)

题目:原题链接(中等)标签:栈解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)O(N)O(N)O(N)112ms (98.04%)Ans 2 (Python)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一(栈):def asteroidCollision(self, asteroids: List[i

2020-08-05 09:47:28 23

原创 LeetCode题解(0726):原子的数量(Python)

题目:原题链接(困难)标签:递归、哈希表、栈解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N2)O(N^2)O(N2)O(N)O(N)O(N)40ms (79.62%)Ans 2 (Python)O(N2)O(N^2)O(N2)O(N)O(N)O(N)40ms (79.62%)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法

2020-08-04 18:17:31 29

原创 LeetCode题解(0636):函数的独占时间(Python)

题目:原题链接(中等)标签:栈解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)O(N)O(N)O(N)184ms (5.90%)Ans 2 (Python)O(N)O(N)O(N)O(N)O(N)O(N)84ms (93.83%)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一(使用栈):def exc

2020-08-04 12:30:20 28

原创 LeetCode题解(0591):标签合法性检测器(Python)

题目:原题链接(困难)标签:字符串、正则表达式解法时间复杂度空间复杂度执行用时Ans 1 (Python)––36ms (96.00%)Ans 2 (Python)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一(正则表达式处理):def isValid(self, code: str) -> bool: # 正则表达式移除

2020-08-04 12:11:46 46

原创 LeetCode题解(0503):下一个更大的元素(Python)

题目:原题链接(中等)标签:栈、栈-单调栈解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)O(N)O(N)O(N)260ms (80.64%)Ans 2 (Python)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一(单调栈):def nextGreaterElements(self, nums: L

2020-08-04 10:16:53 24

原创 LeetCode题解(0456):判断列表中是否有1-3-2模式的子序列(Python)

题目:原题链接(中等)标签:栈、栈-单调栈解法时间复杂度空间复杂度执行用时Ans 1 (Python)最坏情况 : O(N2)O(N^2)O(N2)最快情况 : O(N)O(N)O(N)8444ms (5.13%)Ans 2 (Python)O(N)O(N)O(N)O(N)O(N)O(N)184ms (69.43%)Ans 3 (Python)O(N)O(N)O(N)O(N)O(N)O(N)168ms (94.87%)LeetCode的Pyt

2020-08-04 10:05:11 43

原创 LeetCode题解(0402):移除k位数字使剩下的数字最小(Python)

题目:原题链接(中等)标签:栈、贪心算法解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)O(N)O(N)O(N)48ms (74.57%)Ans 2 (Python)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一(栈+贪心算法):def removeKdigits(self, num: str, k:

2020-08-04 08:29:54 40

原创 LeetCode题解(0394):字符串解码(Python)

题目:原题链接(中等)标签:栈、字符串、深度优先搜索解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)O(N)O(N)O(N)36ms (85.96%)Ans 2 (Python)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一(栈):def decodeString(self, s: str) -&gt

2020-08-04 08:28:27 27

原创 LeetCode题解(0385):迷你语法分析器(Python)

题目:原题链接(中等)标签:分治算法、字符串解法时间复杂度空间复杂度执行用时Ans 1 (Python)––56ms (97.40%)Ans 2 (Python)O(N)O(N)O(N)O(logN)O(logN)O(logN)80ms (38.02%)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一(最不要脸的方法):def deser

2020-08-04 08:28:23 15

原创 LeetCode题解(0341):扁平化嵌套列表迭代器(Python)

题目:原题链接(中等)标签:栈、设计这道题相当程度上是阅读理解。解法时间复杂度空间复杂度执行用时Ans 1 (Python)构造=O(1)O(1)O(1) ; hasNext=O(N)O(N)O(N) ; next=O(1)O(1)O(1)O(N)O(N)O(N)72ms (93.90%)Ans 2 (Python)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级

2020-08-04 08:28:18 14

原创 LeetCode题解(0331):验证二叉树的前序序列化(Python)

题目:原题链接(中等)标签:树、二叉树、二叉树-遍历解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)O(N)O(N)O(N)44ms (60.05%)Ans 2 (Python)O(N)O(N)O(N)O(N)O(N)O(N)44ms (60.05%)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一(栈实

2020-08-03 15:41:23 43

原创 LeetCode题解(0316):去重重复字母(Python)

题目:原题链接(困难)标签:贪心算法、栈相关题目:题目与1081题相同。解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)O(1)O(1)O(1)108ms (6.50%)Ans 2 (Python)O(N)O(N)O(N)O(1)O(1)O(1)40ms (95.53%)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考

2020-08-03 14:31:07 49

原创 LeetCode题解(0224):基本计算器(Python)

题目:原题链接(困难)标签:栈解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)O(N)O(N)O(N)708ms (5.14%)Ans 2 (Python)O(N)O(N)O(N)O(N)O(N)O(N)700ms(5.14%)Ans 3 (Python)O(N)O(N)O(N)O(N)O(N)O(N)100ms (76.94%)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用

2020-08-03 11:28:31 28

原创 LeetCode题解(0173):二叉搜索迭代器(Python)

题目:原题链接(中等)标签:栈相关题目:0094(实际上就是二叉搜索树的中序遍历)解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)O(logN)O(logN)O(logN)116ms (40.10%)Ans 2 (Python)O(N)O(N)O(N)O(logN)O(logN)O(logN)104ms (81.09%)Ans 3 (Python)O(N)O(N)O(N)O(logN)O(logN)O(logN)

2020-08-03 09:40:28 34

原创 LeetCode题解(0150):逆波兰表达式求值(Python)

题目:原题链接(中等)标签:栈解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)O(N)O(N)O(N)44ms (89.77%)Ans 2 (Python)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一:def evalRPN(self, tokens: List[str]) -> int:

2020-08-03 09:16:19 20

原创 LeetCode题解(0145):二叉树的后序遍历(Python)

题目:原题链接(困难)标签:树、二叉树、二叉树-遍历、栈解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)O(logN)O(logN)O(logN)40ms (70.91%)Ans 2 (Python)O(N)O(N)O(N)O(logN)O(logN)O(logN)44ms (44.43%)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同

2020-08-03 09:05:50 19

原创 LeetCode题解(0144):二叉树的前序遍历(Python)

题目:原题链接(中等)标签:树、二叉树、二叉树-遍历、栈解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)O(logN)O(logN)O(logN)40ms (70.49%)Ans 2 (Python)O(N)O(N)O(N)O(logN)O(logN)O(logN)40ms (70.49%)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同

2020-08-03 08:43:03 21

原创 LeetCode题解(0103):二叉树的锯齿形层次遍历(Python)

题目:原题链接(中等)标签:树、二叉树、二叉树-遍历解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)O(logN)O(logN)O(logN)32ms (98.36%)Ans 2 (Python)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一(reverse实现翻转):def zigzagLevelO

2020-08-03 08:18:00 22

提示
确定要删除当前文章?
取消 删除