随笔分类 -  LeetCode

上一页 1 2 3 4 5 6 7 8 9 10 ··· 13 下一页
刷过的题记录一下,思路仅供参考,并非最优解。
摘要:方法一:广搜,迭代 class Solution(object): # 相当于广度优先搜索,使用队列实现。 # 队列初始化,将根节点压入队列。 # 当队列不为空,进行如下操作: # 弹出一个节点,访问,若左子节点或右子节点不为空,将其压入队列。 def levelOrder(self, root): 阅读全文
posted @ 2020-08-30 16:21 人间烟火地三鲜 阅读(153) 评论(0) 推荐(0)
摘要:class TreeNode(object): def __init__(self, x): self.val = x self.left = None self.right = None class Solution(object): def isValidBST(self, root): """ 阅读全文
posted @ 2020-08-30 16:17 人间烟火地三鲜 阅读(154) 评论(0) 推荐(0)
摘要:方法一:迭代 class Solution(object): # 迭代 def inorderTraversal(self, root): """ :type root: TreeNode :rtype: List[int] """ if not root: return [] mid_stack 阅读全文
posted @ 2020-08-30 16:14 人间烟火地三鲜 阅读(115) 评论(0) 推荐(0)
摘要:方法一:二分查找。 class Solution(object): # 二分法 def missingNumber(self, nums): """ :type nums: List[int] :rtype: int """ i, j = 0, len(nums) - 1 while i <= j: 阅读全文
posted @ 2020-06-08 14:19 人间烟火地三鲜 阅读(140) 评论(0) 推荐(0)
摘要:class Solution(object): def isBalanced(self, root): """ :type root: TreeNode :rtype: bool """ if not root: return True # 左、右子树深度 heightLeft = self.tre 阅读全文
posted @ 2020-06-08 14:15 人间烟火地三鲜 阅读(169) 评论(0) 推荐(0)
摘要:思路:递归。 终止条件是两个节点都为空,return True; 或者两个节点中有一个为空,return False; 或者两个节点的值不相等,return False; class Solution(object): def isSymmetric(self, root): """ :type r 阅读全文
posted @ 2020-06-08 14:11 人间烟火地三鲜 阅读(142) 评论(0) 推荐(0)
摘要:class Solution(object): def isSameTree(self, p, q): """ :type p: TreeNode :type q: TreeNode :rtype: bool """ # 根节点值不同,树不同 if p.val != q.val: return Fa 阅读全文
posted @ 2020-06-08 14:08 人间烟火地三鲜 阅读(131) 评论(0) 推荐(0)
摘要:方法一:二分查找。 class Solution(object): # 二分法 def countNegatives(self, grid): """ :type grid: List[List[int]] :rtype: int """ ans = 0 for nums in grid: if n 阅读全文
posted @ 2020-06-08 14:03 人间烟火地三鲜 阅读(200) 评论(0) 推荐(0)
摘要:class Solution(object): def kWeakestRows(self, mat, k): """ :type mat: List[List[int]] :type k: int :rtype: List[int] """ power = [sum(line) for line 阅读全文
posted @ 2020-06-08 14:01 人间烟火地三鲜 阅读(214) 评论(0) 推荐(0)
摘要:class Solution(object): def maxDepthAfterSplit(self, seq): """ :type seq: str :rtype: List[int] """ res = [] if not seq: return res depth, max_depth = 阅读全文
posted @ 2020-06-08 13:58 人间烟火地三鲜 阅读(155) 评论(0) 推荐(0)
摘要:思路:二分法。 class Solution(object): def nextGreatestLetter(self, letters, target): letters = list(set(letters)) letters.sort() if target in letters: index 阅读全文
posted @ 2020-06-08 13:56 人间烟火地三鲜 阅读(124) 评论(0) 推荐(0)
摘要:class Solution(object): def findRadius(self, houses, heaters): """ :type houses: List[int] :type heaters: List[int] :rtype: int """ ans = [] heaters.s 阅读全文
posted @ 2020-06-08 13:53 人间烟火地三鲜 阅读(172) 评论(0) 推荐(0)
摘要:class Solution(object): def arrangeCoins(self, n): """ :type n: int :rtype: int """ return int(2 ** 0.5 * (n + 1 / 8) ** 0.5 - 1 / 2) if __name__ == ' 阅读全文
posted @ 2020-06-08 13:51 人间烟火地三鲜 阅读(119) 评论(0) 推荐(0)
摘要:class Solution(object): def isSubsequence(self, s, t): """ :type s: str :type t: str :rtype: bool """ if len(s) > len(t): return False elif len(s) == 阅读全文
posted @ 2020-06-08 13:49 人间烟火地三鲜 阅读(137) 评论(0) 推荐(0)
摘要:方法一:二分查找。 class Solution(object): # 二分查找 def kthSmallest(self, matrix, k): """ :type matrix: List[List[int]] :type k: int :rtype: int """ n = len(matr 阅读全文
posted @ 2020-06-08 13:47 人间烟火地三鲜 阅读(176) 评论(0) 推荐(0)
摘要:class Solution(object): def searchRange(self, nums, target): """ :type nums: List[int] :type target: int :rtype: List[int] """ # 处理target不在nums中的情况 if 阅读全文
posted @ 2020-06-08 13:36 人间烟火地三鲜 阅读(106) 评论(0) 推荐(0)
摘要:思路: eg:11÷3 ∵11>3 ∴res>=1 又∵11>3+3=6 ∴res>=2 (1+1) 又∵11<6+6=12 ∴res<4 (2+2) 即2<=res<4 递归部分: 又11-6=5>3 ∴restemp >= 1 又∵5<6 (3+3) ∴restemp<2 (1+1) 即1<=r 阅读全文
posted @ 2020-06-08 13:33 人间烟火地三鲜 阅读(316) 评论(0) 推荐(0)
摘要:一:二分法算法过程 二分查找也称折半查找(Binary Search)。 折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。 所以排序数组中的查找、搜索问题,首先想到用 二分法 解决。 二分查找的过程: 假设线性表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果 阅读全文
posted @ 2020-06-08 13:24 人间烟火地三鲜 阅读(203) 评论(0) 推荐(0)
摘要:方法一思路:用栈 将nums2顺序入栈stack[],当栈不空时,取待入栈元素num和栈顶元素top比较,若num top且top在nums1中,则num即是所找的数。 python class Solution(object): def nextGreaterElement(self, nums1 阅读全文
posted @ 2020-05-16 13:42 人间烟火地三鲜 阅读(135) 评论(0) 推荐(0)
摘要:思路: 用两个栈:stackIn[] 和 stackOut[]分别模拟入队和出队; 注意: 出队时,只有当stackOut为空时才能将stackIn的元素入栈stackOut,且必须将stackIn的元素一次性全部转移到stackOut中,再出队。 进队时:只有当待入队元素全部进入stackIn后才 阅读全文
posted @ 2020-05-16 13:35 人间烟火地三鲜 阅读(185) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 7 8 9 10 ··· 13 下一页