- 博客(202)
- 收藏
- 关注
原创 LeetCode题解(0687):二叉树的最长同值路径(Python)
题目:原题链接(简单)解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)O(N)O(N)O(N)452ms (89.45%)Ans 2 (Python)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一:def __init__(self): self.max = 0def longestUniv
2020-06-30 16:59:50 408
原创 LeetCode题解(0686):判断字符串是否由另一个字符串叠加组成(Python)
题目:原题链接(简单)解法时间复杂度空间复杂度执行用时Ans 1 (Python)–O(N)O(N)O(N)108ms (83.43%)Ans 2 (Python)–O(N)O(N)O(N)32ms (100.00%)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一(暴力解法):def repeatedStringMatch(self, A
2020-06-30 16:43:39 345
原创 LeetCode题解(0682):棒球比赛(Python)
题目:原题链接(简单)解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)O(N)O(N)O(N)48ms (87.39%)Ans 2 (Python)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一:def calPoints(self, ops: List[str]) -> int: mar
2020-06-30 16:25:32 265
原创 LeetCode题解(0680):验证最多删除一个字符能否成为回文字符串(Python)
题目:原题链接(简单)解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)O(N)O(N)O(N)236ms (16.06%)Ans 2 (Python)O(N)O(N)O(N)O(N)O(N)O(N)200ms (30.88%)Ans 3 (Python)O(N)O(N)O(N)O(1)O(1)O(1)196ms (35.48%)Ans 4 (Python)–O(N)O(N)O(N)60ms (99.65%
2020-06-30 15:56:29 740
原创 LeetCode题解(0674):计算最长连续递增子序列(Python)
题目:原题链接(简单)解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)O(1)O(1)O(1)92ms (87.88%)Ans 2 (Python)O(N)O(N)O(N)O(1)O(1)O(1)92ms (87.88%)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一:def findLengthOfL
2020-06-30 15:22:10 478
原创 LeetCode题解(0671):计算二叉树中第二小的节点(Python)
题目:原题链接(简单)解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)O(N)O(N)O(N)20ms (99.85%)Ans 2 (Python)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一:def __init__(self): self.min1 = float("inf")
2020-06-30 15:12:52 243
原创 LeetCode题解(0669):修剪二叉搜索树(Python)
题目:原题链接(简单)解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)O(N)O(N)O(N)56ms (93.19%)Ans 2 (Python)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一:def trimBST(self, root: TreeNode, L: int, R: int) ->
2020-06-30 14:54:25 255
原创 LeetCode题解(0665):判断数列是否为递减数列(Python)
题目:原题链接(简单)解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)O(1)O(1)O(1)52ms (70.53%)Ans 2 (Python)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一(分别检查异常变大和异常变小两种情况):def checkPossibility(self, nums: Li
2020-06-30 14:33:37 921
原创 LeetCode题解(0661):图片平滑器(Python)
题目:原题链接(简单)解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N2)O(N^2)O(N2)O(N2)O(N^2)O(N2)972ms (31.75%)Ans 2 (Python)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一(暴力解法):def imageSmoother(self, M: List[List[in
2020-06-30 14:17:28 294
原创 LeetCode题解(0657):根据操作列表判断机器人是否能回到原点(Python)
题目:原题链接(简单)解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)O(1)O(1)O(1)56ms (66.63%)Ans 2 (Python)–O(1)O(1)O(1)36ms (98.79%)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一:def judgeCircle(self, moves:
2020-06-30 14:00:37 3425
原创 LeetCode题解(0653):计算二叉搜索树中和为目标值的两结点(Python)
题目:原题链接(简单)解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)O(N)O(N)O(N)135ms (16.84%)Ans 2 (Python)O(N)O(N)O(N)O(N)O(N)O(N)100ms (60.84%)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一(中序遍历为数组处理):def
2020-06-30 13:55:23 260
原创 LeetCode题解(0645):寻找数组中重复和丢失的整数(Python)
题目:原题链接(简单)解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)O(N)O(N)O(N)240ms (82.46%)Ans 2 (Python)O(NlogN)O(NlogN)O(NlogN)O(logN)O(logN)O(logN)248ms (73.20%)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。
2020-06-30 12:27:32 293
原创 LeetCode题解(0643):计算子数组的最大平均数(Python)
题目:原题链接(简单)解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)O(1)O(1)O(1)超出时间限制Ans 2 (Python)O(N)O(N)O(N)O(1)O(1)O(1)1020ms (91.29%)Ans 3 (Python)O(N)O(N)O(N)O(1)O(1)O(1)1096ms (62.83%)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个
2020-06-30 12:02:53 3250
原创 LeetCode题解(0637):计算二叉树的层平均值(Python)
题目:原题链接(简单)解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)O(M)O(M)O(M) : M为层节点数最大值64ms (66.57%)Ans 2 (Python)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一(广度优先遍历):def averageOfLevels(self, root: Tr
2020-06-30 11:45:52 316
原创 LeetCode题解(0633):平方数之和(Python)
题目:原题链接(简单)解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N2)O(N^2)O(N2)O(1)O(1)O(1)超出时间限制Ans 2 (Python)O(NlogN)O(NlogN)O(NlogN)O(1)O(1)O(1)320ms (51.58%)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一(暴力解法):d
2020-06-30 11:39:46 1821
原创 LeetCode题解(0628):计算三个数的最大乘积(Python)
题目:原题链接(简单)解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(NlogN)O(NlogN)O(NlogN)O(N)O(N)O(N)368ms (30.66%)Ans 2 (Python)O(N)O(N)O(N)O(1)O(1)O(1)320ms (88.43%)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一(排序法)
2020-06-30 11:09:05 424
原创 LeetCode题解(0627):交换表中某字段的两种值(SQL)
题目:原题链接(简单)解法执行用时Ans 1 (SQL)197ms (34.17%)Ans 2 (SQL)192ms (38.34%)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一(CASE):UPDATE salarySET sex = CASE sex WHEN 'f' THEN 'm' ELSE 'f' END;解法二(CASE):UPDATE salarySET sex
2020-06-30 10:51:48 245
原创 LeetCode题解(0620):查找高评分的电影(SQL)
题目:原题链接(简单)解法执行用时Ans 1 (SQL)169ms (36.29%)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一:SELECT *FROM cinemaWHERE description != 'boring' AND mod(id, 2) = 1ORDER BY rating DESC;...
2020-06-30 10:43:29 439
原创 LeetCode题解(0617):合并二叉树(Python)
题目:原题链接(简单)解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)O(N)O(N)O(N)96ms (92.00%)Ans 2 (Python)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一:def mergeTrees(self, t1: TreeNode, t2: TreeNode) ->
2020-06-30 10:36:56 229
原创 LeetCode题解(0606):根据二叉树创建字符串(Python)
题目:原题链接(简单)解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)O(N)O(N)O(N)48ms (100.00%)Ans 2 (Python)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一:def tree2str(self, t: TreeNode) -> str: def h
2020-06-30 10:28:31 336
原创 LeetCode题解(0605):数组种花问题(Python)
题目:原题链接(简单)解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)O(1)O(1)O(1)196ms (88.08%)Ans 2 (Python)O(N)O(N)O(N)O(1)O(1)O(1)200ms (79.05%)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一(计算空间):def canPl
2020-06-30 10:16:28 289
原创 LeetCode题解(0599):两个列表的最小索引总和(Python)
题目:原题链接(简单)解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N2)O(N^2)O(N2)O(1)O(1)O(1)328ms (29.32%)Ans 2 (Python)O(N)O(N)O(N)O(N)O(N)O(N)168ms (99.58%)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一(暴力解法):def f
2020-06-30 10:01:06 566
原创 LeetCode题解(0598):矩阵范围求和(Python)
题目:原题链接(简单)解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)O(1)O(1)O(1)84ms (87.54%)Ans 2 (Python)O(N)O(N)O(N)O(1)O(1)O(1)92ms (52.72%)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一(维护每次都加1的最大区域):def
2020-06-30 09:53:32 487
原创 LeetCode题解(0596):查找超过5名学生的课(SQL)
题目:原题链接(简单)解法执行用时Ans 1 (Python)209ms (67.93%)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一:SELECT classFROM coursesGROUP BY classHAVING COUNT(DISTINCT student) >= 5;...
2020-06-30 09:43:14 229
原创 LeetCode题解(0595):查找符合标准的记录(SQL)
题目:原题链接(简单)解法执行用时Ans 1 (SQL)205ms (54.82%)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一:SELECT name, population, areaFROM WorldWHERE area > 3000000 OR population > 25000000;...
2020-06-30 08:40:07 229
原创 LeetCode题解(0594):计算最长和谐子序列(Python)
题目:原题链接(简单)解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)O(N)O(N)O(N)368ms (91.63%)Ans 2 (Python)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一(哈希表):def findLHS(self, nums: List[int]) -> int:
2020-06-30 08:34:00 318
原创 LeetCode题解(0590):N叉树的后序遍历(Python)
题目:原题链接(简单)解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)O(d)O(d)O(d) : d为N叉树的最大深度60ms (84.54%)Ans 2 (Python)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一:def postorder(self, root: 'Node') -> L
2020-06-30 08:26:36 249
原创 LeetCode题解(0589):N叉树的前序遍历(Python)
题目:原题链接(简单)解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)O(d)O(d)O(d) : d为最大深度64ms (71.32%)Ans 2 (Python)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一:def preorder(self, root: 'Node') -> List[i
2020-06-30 08:22:04 333
原创 LeetCode精讲(0581):数组中的最短无序连续子数组(Python)
题目内容给定一个整数数组,你需要寻找一个连续的子数组,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序。你找到的子数组应是最短的,请输出它的长度。示例 1:输入: [2, 6, 4, 8, 10, 9, 15]输出: 5解释: 你只需要对 [6, 4, 8, 10, 9] 进行升序排序,那么整个表都会变为升序排序。说明:输入的数组长度范围在 [1, 10,000]。输入的数组可能包含重复元素 ,所以升序的意思是<=。来源:力扣(LeetCode)链接:h
2020-06-30 08:09:16 353
原创 LeetCode题解(0575):分糖果(Python)
题目:原题链接(简单)题目标签:解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)O(N)O(N)O(N)972ms (97.91%)Ans 2 (Python)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一(集合法):def distributeCandies(self, candies: List[
2020-06-30 06:40:07 327
原创 LeetCode题解(0572):判断树是否为另一个树的子树(Python)
题目:原题链接(简单)题目标签:解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N2)O(N^2)O(N2)O(N)O(N)O(N)252ms (61.62%)Ans 2 (Python)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一(暴力解法,两层递归):def isSubtree(self, s: TreeNode,
2020-06-30 06:34:42 451
原创 LeetCode题解(0566):重塑矩阵(Python)
题目:原题链接(简单)题目标签:解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)O(N)O(N)O(N)124ms (53.77%)Ans 2 (Python)O(N)O(N)O(N)O(N)O(N)O(N)120ms (68.18%)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一(暴力解法):def matrixReshape(self,
2020-06-29 18:37:12 294
原创 LeetCode题解(0563):计算二叉树的坡度(Python)
题目:原题链接(简单)题目标签:解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)O(N)O(N)O(N)72ms (72.03%)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一:def findTilt(self, root: TreeNode) -> int: def helper(node): if not node:
2020-06-29 18:27:52 295
原创 LeetCode题解(0561):数组拆分使各对最小值的总和最大(Python)
题目:原题链接(简单)题目标签:解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(NlogN)O(NlogN)O(NlogN)O(N)O(N)O(N)340ms (72.12%)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一(相当于升序排序后累加所有技术项):def arrayPairSum(self, nums: List[int]) -> int: num
2020-06-29 17:00:59 541
原创 LeetCode题解(0559):计算N叉树的最大深度(Python)
题目:原题链接(简单)题目标签:解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)O(N)O(N)O(N)44ms (98.95%)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一(递归):def maxDepth(self, root: 'Node') -> int: def helper(node): if not nod
2020-06-29 16:44:13 291
原创 LeetCode题解(0557):反转字符串中的各个单词(Python)
题目:原题链接(简单)题目标签:解法时间复杂度空间复杂度执行用时Ans 1 (Python)–O(N)O(N)O(N)44ms (77.36%)Ans 2 (Python)O(N)O(N)O(N)O(N)O(N)O(N)60ms (34.45%)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一(字符串分隔):def reverseWord
2020-06-29 16:39:34 257
原创 LeetCode题解(0551):学生出勤记录分析(Python)
题目:原题链接(简单)题目标签:解法时间复杂度空间复杂度执行用时Ans 1 (Python)–O(1)40ms (70.22%)Ans 2 (Python)O(N)O(N)O(N)O(1)O(1)O(1)36ms (89.33%)Ans 3 (Python)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一:def checkRecord(self, s: str)
2020-06-29 16:33:21 313
原创 LeetCode题解(0543):计算二叉树的直径(Python)
题目:原题链接(简单)题目标签:解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)52ms (88.88%)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一:def __init__(self): self.maximum = 0def diameterOfBinaryTree(self, root: TreeNode) -> int:
2020-06-29 16:25:51 247
原创 LeetCode题解(0541):字符串分段反转(Python)
题目:原题链接(简单)题目标签:解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)O(N)O(N)O(N)36ms (91.51%)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一():def reverseStr(self, s: str, k: int) -> str: ans = "" while k * 2 <= len
2020-06-29 15:49:50 408
原创 LeetCode题解(0538):将二叉树转换为累加树(Python)
题目:原题链接(简单)与题目1038相同解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)O(1)O(1)O(1)76ms (87.34%)Ans 2 (Python)O(N)O(N)O(N)O(1)O(1)O(1)68ms (98.52%)LeetCode的Python执行用时随缘,只要时间复杂度没有明显差异,执行用时一般都在同一个量级,仅作参考意义。解法一(反序中序遍历):def __init__(self):
2020-06-29 15:41:39 295
Kaggle:tmdb-box-office-prediction(转结构化数据,用于 SQL 练习)
2023-08-14
请问大家有推荐的 CPython 相关教程或书籍吗?
2023-05-07
TA创建的收藏夹 TA关注的收藏夹
TA关注的人