摘要: # 一:术语、定义、特点 1、树 树是一种数据结构,它是由n(n>=1)个有限结点组成一个具有层次关系的集合。 树结构中的术语 节点的度:节点拥有的子树的数目; 叶子节点:度为0的节点; 分支结点:度不为0的节点; 树的度:树中节点的最大的度; 层次:根结点的层次为1,其余节点的层次等于该结点的双亲 阅读全文
posted @ 2020-06-08 14:51 人间烟火地三鲜 阅读(763) 评论(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 人间烟火地三鲜 阅读(135) 评论(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 人间烟火地三鲜 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 思路:递归。 终止条件是两个节点都为空,return True; 或者两个节点中有一个为空,return False; 或者两个节点的值不相等,return False; class Solution(object): def isSymmetric(self, root): """ :type r 阅读全文
posted @ 2020-06-08 14:11 人间烟火地三鲜 阅读(140) 评论(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 人间烟火地三鲜 阅读(128) 评论(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 人间烟火地三鲜 阅读(192) 评论(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 人间烟火地三鲜 阅读(210) 评论(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 人间烟火地三鲜 阅读(153) 评论(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 人间烟火地三鲜 阅读(118) 评论(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 人间烟火地三鲜 阅读(167) 评论(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 人间烟火地三鲜 阅读(116) 评论(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 人间烟火地三鲜 阅读(133) 评论(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 人间烟火地三鲜 阅读(165) 评论(0) 推荐(0) 编辑
摘要: 题意:即nums长为n+1,里面的元素值范围:[1,n],有且仅有一个重复值,但该值可以重复多次,所以[1,n]有的数可以不在nums里。 方法一:二分查找。 class Solution(object): # 二分查找 def findDuplicate(self, nums): low = 1 阅读全文
posted @ 2020-06-08 13:44 人间烟火地三鲜 阅读(165) 评论(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 人间烟火地三鲜 阅读(308) 评论(0) 推荐(0) 编辑
摘要: 一:二分法算法过程 二分查找也称折半查找(Binary Search)。 折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。 所以排序数组中的查找、搜索问题,首先想到用 二分法 解决。 二分查找的过程: 假设线性表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果 阅读全文
posted @ 2020-06-08 13:24 人间烟火地三鲜 阅读(200) 评论(0) 推荐(0) 编辑