Algorithm and Data Structure Notes
Introduction
Binary Search
Search in a Big Sorted Array
Rotated Sorted Array
Find Peak Number
Search 2D matrix
Reduce size by half every time
Intersection of Two Arrays
User `Arrays.binarySearch()`
Binary Tree
Level Order Traverse
Path/Path Sum in the Tree
Depth/Balanced Binary Tree
Height of Tree
修改结构
Binary Tree Vertical Order Traversal
LCA
Binary Tree Serialization
子树结构
BST
unique Binary Search Tree
TreeSet/Use BST to improve the search/insert/delete
Range Search
BFS
Graph Valid Tree
Clone Graph
Topological Sorting
Number of Islands
Word Ladder
Walls and Gates
DFS
backtracking
N Queens
word search
Letter Combinations of A Phone Nubmer
Matrix
Rotate
Array
subarray
Majority Element/Frequency
Iterator
数组环形跳转
LinkedList
LinkedList Cycle
Double LinkedList
Merge
Two Pointers
Two Sum
窗口型
Partition
Sorting
HashMap/HashSet
增强HashMap
HashMap计算频率类型
TreeMap
Dynamic Programming
DP - from any point
DP - Two Sequence
DP - String
frog jump
DP - Backpack
Coin Change
Word break
House Robber
划分型DP
区间型DP
记忆化搜索
String 类
String prefix类
repeated String
括号类型
Mirror Symmetric
Math
Integer
bits
Java
Trie
Heap
find Kth largest/smallest
HashHeap
Union Find
Minimum Cost Spanning Tree
Union Find 的应用
Data Structure
Stack
stack的应用
Design
Tiny Url
Queue
Deque
Greedy
Powered by
GitBook
增强HashMap
Insert Delete GetRandom O(1)
难点在于从list删除一个元素是需要O(n)的,而HashMap中的元素又是无序的。所以这里的一个技巧是,在删除之前,利用HashMap获得该元素的坐标位置,把他和最后一个元素进行交换。这样list上删除最后一个元素就只需要O(1)了
其中list的交换用set
results matching "
"
No results matching "
"