LeetCode总结
文章平均质量分 68
real_lisa
这个作者很懒,什么都没留下…
展开
-
实用面试数组排序算法 - Sorting Algorithms
heapify的时间复杂度是O(nlogn),heappop的时间复杂度是O(logn)执行n次。每层合并(O(n)) - 如图,执行①②④⑤是O(n),执行③⑥是O(n),执行⑦是O(n)调用栈深度(O(logn)) * 每层合并(O(n)) = O(nlogn)调用栈深度(O(logn)) * 每层合并(O(n)) = O(nlogn)调用栈深度(O(n)) * 每层合并(O(n)) = O(n^2)倒数第二层有n/4个节点,倒数第三层有n/8个节点。调用栈深度(O(logn))2.复杂度为O(n)原创 2022-10-13 06:09:42 · 330 阅读 · 0 评论 -
Binary Tree Traversal 二叉树遍历 基础 Python
Preorder TraversalRecursionclass Solution: def preorderTraversal(self, root: TreeNode) -> List[int]: if not root: return [] return [root.val] + self.preorderTraversal(root.left) + self.preorderTraversal(root.right)Iteration原创 2020-07-05 22:10:51 · 223 阅读 · 0 评论 -
LeetCode - Binary Search 总结
模版(l + 1 < r) { int mid = l + (r - l) / 2; if (num[mid] < target) { start = mid; } else { end = mid; } if (num[start] == target) return start; if (num[end] == target) re...原创 2019-06-18 00:57:29 · 221 阅读 · 0 评论 -
LeetCode - Linked List 总结
2. Add Two Numbers# Definition for singly-linked list.# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: def addTwoNumbers(self, ...原创 2019-06-21 01:19:36 · 167 阅读 · 0 评论 -
LeetCode - Backtracking回溯总结
78.Subsetsrecursionclass Solution {public: vector<vector<int>> subsets(vector<int>& nums) { vector<vector<int>> res; vector<int> cur;...原创 2019-06-11 00:02:52 · 212 阅读 · 0 评论 -
LeetCode - BFS 总结
200.Number of Islandsclass Solution: def numIslands(self, grid: List[List[str]]) -> int: res = 0 def dfs(i, j): if i<0 or i>=len(grid) or j<0 or j>=l...原创 2019-06-13 00:48:02 · 641 阅读 · 0 评论 -
LeetCode - Parentheses 总结
DFS22.Generate Parentheses301.Remove Invalid Parentheses(BFS)Stack20.Valid Parentheses32.Longest Valid Parentheses (also dp)tip:1. stack里面存'('的index instead of the character itse...原创 2018-10-09 15:04:39 · 294 阅读 · 0 评论 -
LeetCode - DFS (depth-first-search) 总结
每行选一题先感受一下~ 基础Subset I, II (contain duplicates)CombinationsPermutation I, II (contain duplicates)Combinations Sum I, II (can only be used once), III一维Generate ParenthesesLetter Combi...原创 2018-10-11 17:01:36 · 221 阅读 · 0 评论 -
LeetCode - Tree 总结
Preorder, Inorder, Postorder and Level order TraversalConstruct Binary Tree from Preorder and Inorder TraversalConstruct Binary Tree from Inorder and Postorder TraversalConstruct Binary Tree fro...原创 2018-10-17 22:21:17 · 176 阅读 · 0 评论 -
LeetCode - most frequency hard 高频难题
LRU CacheMeidan of Two Sorted ArraysTrapping Rain WaterInteger to English WordsRegular Expression MatchingMerge K Sorted ListsRemove Invalid ParenthesesSerialize and Deserialize Binary T...原创 2018-10-29 15:09:24 · 693 阅读 · 0 评论 -
LeetCode - Binary Search 总结
二分法简单但是边界值十分容易出错, 时间复杂度为O(log n)mid = right + (left - right) / 2 防止left right 都大时候溢出二分法剖析:Binary Search 二分搜索法 C++bold - high frequency top 5 第一类 基本用法Search Insert Position [easy, 2]Find Fi...原创 2018-11-06 21:56:23 · 439 阅读 · 0 评论