![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Leetcode刷题复习
文章平均质量分 70
大叔爱学习.
所谓至明,不过至专。
展开
-
Leetcode 刷题必须Review 二十五 Lintcode(56 1796 1457 1035 856 1854)
文章目录原创 2022-03-08 15:03:55 · 101 阅读 · 0 评论 -
Leetcode 刷题必须Review 二十四 Lintcode(177 900 1033 1744 521)
文章目录177 · 把排序数组转换为高度最小的二叉搜索树。177 · 把排序数组转换为高度最小的二叉搜索树。给一个排序数组(从小到大),将其转换为一棵高度最小的二叉搜索树。"""Definition of TreeNode:class TreeNode: def __init__(self, val): self.val = val self.left, self.right = None, None"""class Solution: "原创 2022-03-07 14:09:04 · 219 阅读 · 0 评论 -
Leetcode 刷题必须Review 二十三 Lintcode(175 376 701 245 94)
文章目录175 · 翻转二叉树376 · 二叉树的路径和701 · 修剪二叉搜索树245 · 子树94 · 二叉树中的最大路径和175 · 翻转二叉树翻转一棵二叉树。左右子树交换。from lintcode import ( TreeNode,)"""Definition of TreeNode:class TreeNode: def __init__(self, val): self.val = val self.left, self.ri原创 2022-03-02 18:26:05 · 317 阅读 · 0 评论 -
Leetcode 刷题必须Review 二十二 Lintcode(70 1807 242 95 155)
文章目录70 · 二叉树的层次遍历 II1807 · 斐波纳契数列简单242 · 将二叉树按照层级转化为链表95 · 验证二叉查找树155 · 二叉树的最小深度70 · 二叉树的层次遍历 II给出一棵二叉树,返回其节点值从底向上的层次序遍历(按从叶节点所在层到根节点所在的层遍历,然后逐层从左往右遍历)bfs可以做到bugfree了。from typing import ( List,)from lintcode import ( TreeNode,)"""Defini原创 2022-03-02 15:23:59 · 99 阅读 · 0 评论 -
Leetcode 刷题必须Review 二十一 Lintcode(71 650 69 85 93)
文章目录71 · 二叉树的锯齿形层次遍历650 · 二叉树叶子顺序遍历69 · 二叉树的层次遍历85 · 在二叉查找树中插入节点93 · 平衡二叉树71 · 二叉树的锯齿形层次遍历给出一棵二叉树,返回其节点值的锯齿形层次遍历(先从左往右,下一层再从右往左,层与层之间交替进行)一开始想尝试下按照行的奇偶性质添加,但是不好使。又改了传统的bfs方法。黑猫白猫抓到耗子就是好猫。from typing import ( List,)from lintcode import ( Tre原创 2022-03-01 21:57:17 · 239 阅读 · 0 评论 -
Leetcode 刷题必须Review 二十 Lintcode(546 642 1166 978 227)
文章目录546 · 按接口实现队列642 · 数据流滑动窗口平均值1166 · 推荐结果打散978 · 基础计算器227 · 用栈模拟汉诺塔问题546 · 按接口实现队列按接口实现队列class InterfaceQueue: def push(self, element): pass # define an interface for pop method # write your code here def pop(self): p原创 2022-03-01 16:15:21 · 124 阅读 · 0 评论 -
Leetcode 刷题必须Review 十九 Lintcode(366 481 97 40 493)
文章目录366 · 斐波纳契数列481 · 二叉树叶子节点之和97 · 二叉树的最大深度40 · 用栈实现队列493 · 维护队列 II366 · 斐波纳契数列查找斐波纳契数列中第 N 个数。所谓的斐波纳契数列是指:前2个数是 0 和 1 。第 i 个数是第 i-1 个数和第i-2 个数的和。斐波纳契数列的前10个数字是:0, 1, 1, 2, 3, 5, 8, 13, 21, 34 …在n=40的时候,超时了def fibonacci(self, n): # write原创 2022-02-28 21:49:00 · 308 阅读 · 0 评论 -
Leetcode 刷题必须Review 十八 Lintcode(771 66 495 263 67 68)
文章目录771 · 二阶阶乘495 · 实现栈263 · 小括号匹配66 · 二叉树的前序遍历67 · 二叉树的中序遍历771 · 二阶阶乘给定一个数n,返回该数的二阶阶乘。在数学中,正整数的二阶阶乘表示不超过这个正整数且与它有相同奇偶性的所有正整数乘积。def doubleFactorial(self, n): # Write your code here res = 1 if n % 2 != 0: for i in ran原创 2022-02-28 17:22:23 · 7538 阅读 · 0 评论 -
Leetcode 刷题必须Review 十七 Lintcode(423 492 541 421 575)
文章目录423 · 有效的括号序列492 · 队列维护541 · 左旋右旋迭代器 II421 · 简化路径423 · 有效的括号序列给定一个字符串所表示的括号序列,包含以下字符: ‘(’, ‘)’, ‘{’, ‘}’, ‘[’ and ‘]’, 判定是否是有效的括号序列。括号必须依照 “()” 顺序表示, “()[]{}” 是有效的括号,但 “([)]” 则是无效的括号。def isValidParentheses(self, s): # write your code here原创 2022-02-28 15:46:30 · 7213 阅读 · 0 评论 -
Leetcode 刷题必须Review 十六 Lintcode(1343 936 491 133 422)
文章目录1343 · 两字符串和936 · 首字母大写491 · 回文数133 · 最长单词422 · 最后一个单词的长度1343 · 两字符串和给定两个仅含数字的字符串,你需要返回一个由各个位之和拼接的字符串def SumofTwoStrings(self, A, B): # write your code here min_length = min(len(A), len(B)) res = "" for i in range(-1原创 2022-02-27 19:56:04 · 7306 阅读 · 0 评论 -
Leetcode 刷题必须Review 十五 Lintcode(9 241 146 13 1535)
文章目录9 · Fizz Buzz 问题241 · 转换字符串到整数(容易版146 · 大小写转换 II13 · 字符串查找1535 · 转换成小写字母9 · Fizz Buzz 问题给定整数 n ,按照如下规则打印从 1 到 n 的每个数:如果这个数被3整除,打印fizz。如果这个数被5整除,打印buzz。如果这个数能同时被3和5整除,打印fizz buzz。如果这个数既不能被 3 整除也不能被 5 整除,打印数字本身。def fizzBuzz(self, n): # wr原创 2022-02-27 15:58:03 · 90 阅读 · 0 评论 -
Leetcode 刷题必须Review 十四 Lintcode(407 220 53 50 46)
文章目录407 · 加一220 · 冰雹猜想53 · 翻转字符串407 · 加一给定一个非负数,表示一个数字数组,在该数的基础上+1,返回一个新的数组。该数字按照数位高低进行排列,最高位的数在列表的最前面。def plusOne(self, digits): # write your code here digit = [str(i) for i in digits] new_digit = int("".join(digit)) + 1原创 2022-02-27 14:34:17 · 97 阅读 · 0 评论 -
Leetcode 刷题必须Review 十三 Lintcode(479 235 1781 1784 958)
文章目录479 · 数组第二大数235 · 分解质因数1781 · 反转ASCII编码字符串1784 · 减小为回文958 · 回文数据流479 · 数组第二大数在数组中找到第二大的数。def secondMax(self, nums): # write your code here nums.sort() return nums[-2]官方答案,打擂台:def secondMax(self, nums): # write you原创 2022-02-25 17:52:39 · 494 阅读 · 0 评论 -
Leetcode 刷题必须Review 十二 Lintcode(297 1334 807 767 539)
文章目录原创 2022-02-25 16:49:36 · 583 阅读 · 0 评论 -
Leetcode 刷题必须Review 十一 Lintcode(484 463 214 25 298)
484 · 交换数组两个元素给你一个数组和两个索引,交换下标为这两个索引的数字def swapIntegers(self, A, index1, index2): # write your code here A[index1], A[index2] = A[index2], A[index1]还是我之前考虑的比较周全,我现在二刷属实是有点得意忘形了。def swapIntegers(self, A, index1, index2): # writ原创 2022-02-23 18:51:15 · 270 阅读 · 0 评论 -
Leetcode 刷题必须Review 十 Lintcode(145 23 1141 768 485 )
文章目录145 · 大小写转换23 · 判断数字与字母字符1141 · 月份天数768 · 杨辉三角485 · 生成给定大小的数组145 · 大小写转换将一个字符由小写字母转换为大写字母def lowercaseToUppercase(self, character): return character.upper()之前写的方法:def lowercaseToUppercase(self, character): return ord(character) + ord('A原创 2022-02-23 16:01:37 · 277 阅读 · 0 评论 -
Leetcode 刷题必须Review 九 Lintcode(170 99 599 478 283)
170 · 旋转链表给定一个链表,旋转链表,使得每个节点向右移动k个位置,其中k是一个非负数def rotateRight(self, head, k): # write your code here if not head: return elif k == 0: return head elif not head.next: return head dummy = ListNode(-1, head)原创 2022-02-23 15:24:36 · 283 阅读 · 0 评论 -
Leetcode 刷题必须Review 八 Lintcode(174 219 452 511 228)
文章目录174 · 删除链表中倒数第n个节点219 · 在排序链表中插入一个节点174 · 删除链表中倒数第n个节点给定一个链表,删除链表中倒数第n个节点,返回链表的头节点。def removeNthFromEnd(self, head, n): # write your code here res = slow = fast = head for _ in range(n): fast = fast.next原创 2022-02-22 16:17:25 · 250 阅读 · 0 评论 -
Leetcode 刷题必须Review 七 Lintcode( 241 37 1 1300 764)
文章目录241 ·转换字符串到整数(容易版)37 · 反转一个三位整数1 · A + B 问题1300 · 巴什博弈764 · 计算圆周长和面积241 ·转换字符串到整数(容易版)给一个字符串, 转换为整数。你可以假设这个字符串是一个有效整数的字符串形式, 且范围在32位整数之间 (-231 ~ 231 - 1)。def stringToInteger(self, target): # write your code here return int(target)原创 2022-02-21 20:56:40 · 1975 阅读 · 0 评论 -
Leetcode 刷题必须Review 六 Lintcode(283 484 455 116 385)
文章目录283 · 三数之中的最大值484 · 交换数组两个元素455 · 学号116 · 跳跃游戏385 · 动态数组283 · 三数之中的最大值给三个整数,求他们中的最大值。def maxOfThreeNumbers(self, num1, num2, num3): # write your code here max_val = float('-inf') if num1 > num2: max_val = num1原创 2022-02-21 16:49:51 · 3051 阅读 · 0 评论 -
Leetcode 刷题必须Review 五 剑指offer(29 31 20)
文章目录剑指 Offer 29. 顺时针打印矩阵剑指 Offer 31. 栈的压入、弹出序列剑指 Offer 20. 表示数值的字符串剑指 Offer 29. 顺时针打印矩阵输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。class Solution: def spiralOrder(self, matrix: List[List[int]]) -> List[int]: row, col = len(matrix), len(matrix[0])原创 2022-01-28 15:28:52 · 445 阅读 · 0 评论 -
Leetcode 刷题必须Review 四 剑指offer(51 14-I 57-II 62)
文章目录剑指 Offer 51. 数组中的逆序对剑指 Offer 14- I. 剪绳子剑指 Offer 57-I. 和为s的两个数字剑指 Offer 57 - II. 和为s的连续正数序列剑指 Offer 62. 圆圈中最后剩下的数字剑指 Offer 51. 数组中的逆序对class Solution: def reversePairs(self, nums: List[int]) -> int: def recur(left, right, nums):原创 2022-01-26 18:54:00 · 175 阅读 · 0 评论 -
Leetcode 刷题必须Review 三 排序(冒泡、插入、选择、快速、归并)
文章目录冒泡插入选择快速归并把5个常用的排序算法都写一遍。充分理解内部每个算法的含义,把基础要打牢。冒泡def sortArray(self, nums: List[int]) -> List[int]: for i in range(len(nums)): for j in range(len(nums) - 1 - i): if nums[j] > nums[j + 1]:原创 2022-01-26 13:59:49 · 199 阅读 · 0 评论 -
Leetcode 刷题必须Review 二 Leetcode(912 215 315 53)
文章目录912. 排序数组归并快排215. 数组中的第K个最大元素315. 计算右侧小于当前元素的个数53. 最大子数组和912. 排序数组归并def sortArray(self, nums: List[int]) -> List[int]: def merge_sort(nums, l, r): # 终止条件 if l >= r: return # 递归划分数组 m = (原创 2022-01-25 13:58:37 · 292 阅读 · 0 评论 -
Leetcode 刷题必须Review 一 剑指offer(12 13 65 56 39 66)
文章目录剑指 Offer 12. 矩阵中的路径剑指 Offer 13. 机器人的运动范围剑指 Offer 65. 不用加减乘除做加法剑指 Offer 56 - I. 数组中数字出现的次数剑指 Offer 39. 数组中出现次数超过一半的数字剑指 Offer 66. 构建乘积数组剑指 Offer 12. 矩阵中的路径class Solution: def exist(self, board: List[List[str]], word: str) -> bool: def原创 2022-01-24 18:39:48 · 93 阅读 · 0 评论