# Algo

- [Binary Search](https://blog.yushunchen.com/algo/binary-search.md)
- [Classical Binary Search](https://blog.yushunchen.com/algo/binary-search/classical-binary-search.md): ID: 457; easy; 经典二分查找问题
- [First Position of Target](https://blog.yushunchen.com/algo/binary-search/first-position-of-target.md): ID: 14; easy; 二分查找
- [Last Position of Target](https://blog.yushunchen.com/algo/binary-search/last-position-of-target.md): ID: 458; easy; 目标最后位置
- [Guess Number Higher or Lower](https://blog.yushunchen.com/algo/binary-search/guess-number-higher-or-lower.md): ID: 662; easy; 猜数游戏
- [Search in a Big Sorted Array](https://blog.yushunchen.com/algo/binary-search/search-in-a-big-sorted-array.md): ID: 447; medium; 在大数组中查找
- [Total Occurrence of Target](https://blog.yushunchen.com/algo/binary-search/total-occurrence-of-target.md): ID: 462; easy; 目标出现总和
- [First Bad Version](https://blog.yushunchen.com/algo/binary-search/first-bad-version.md): ID; 74; medium; 第一个错误的代码版本
- [Find Minimum in Rotated Sorted Array](https://blog.yushunchen.com/algo/binary-search/find-minimum-in-rotated-sorted-array.md): ID: 159; medium; 寻找旋转排序数组中的最小值
- [Maximum Number in Mountain Sequence](https://blog.yushunchen.com/algo/binary-search/maximum-number-in-mountain-sequence.md): ID: 585; medium; 山脉序列中的最大值
- [Search a 2D Matrix](https://blog.yushunchen.com/algo/binary-search/search-a-2d-matrix.md): ID: 28; easy; 搜索二维矩阵
- [Search a 2D Matrix II](https://blog.yushunchen.com/algo/binary-search/search-a-2d-matrix-ii.md): ID: 38; medium; 搜索二维矩阵（二）
- [Search for a Range](https://blog.yushunchen.com/algo/binary-search/search-for-a-range.md): ID: 61; medium; 搜索区间
- [Smallest Rectangle Enclosing Black Pixels](https://blog.yushunchen.com/algo/binary-search/smallest-rectangle-enclosing-black-pixels.md): ID: 600; hard; 包裹黑色像素点的最小矩形
- [Find Peak Element](https://blog.yushunchen.com/algo/binary-search/find-peak-element.md): ID: 75; medium; 寻找峰值
- [Search in Rotated Sorted Array](https://blog.yushunchen.com/algo/binary-search/search-in-rotated-sorted-array.md): ID: 62; medium; 搜索旋转排序数组
- [Wood Cut](https://blog.yushunchen.com/algo/binary-search/wood-cut.md): ID; 183; hard; 木材加工
- [Find the Duplicate Number](https://blog.yushunchen.com/algo/binary-search/find-the-duplicate-number.md): ID: 633; medium; 寻找重复的数
- [Sqrt(x) II](https://blog.yushunchen.com/algo/binary-search/sqrt-x-ii.md): ID: 586; medium; 对x开根II
- [Maximum Average Subarray II](https://blog.yushunchen.com/algo/binary-search/maximum-average-subarray-ii.md): ID: 617; medium; 子数组的最大平均值 II
- [Copy Books](https://blog.yushunchen.com/algo/binary-search/copy-books.md): ID: 437; medium; 书籍复印
- [How Many Problem Can I Accept](https://blog.yushunchen.com/algo/binary-search/how-many-problem-can-i-accept.md): ID: 937; medium; 可以完成的题目数量
- [Linked List](https://blog.yushunchen.com/algo/linked-list.md)
- [Insert Node in Sorted Linked List](https://blog.yushunchen.com/algo/linked-list/insert-node-in-sorted-linked-list.md): ID: 219; easy; 在排序链表中插入一个节点
- [Merge Two Sorted Lists](https://blog.yushunchen.com/algo/linked-list/merge-two-sorted-lists.md): ID: 165; easy; 合并两个排序链表
- [Merge K Sorted Lists](https://blog.yushunchen.com/algo/linked-list/merge-k-sorted-lists.md): ID: 104; medium; 合并k个排序链表算法
- [LRU Cache](https://blog.yushunchen.com/algo/linked-list/lru-cache.md): ID: 134; hard; LRU缓存策略
- [Reverse Linked List II](https://blog.yushunchen.com/algo/linked-list/reverse-linked-list-ii.md): ID: 36; medium; 翻转链表（二）
- [Copy List with Random Pointer](https://blog.yushunchen.com/algo/linked-list/copy-list-with-random-pointer.md): ID: 105; medium; 复制带随机指针的链表
- [Reverse Nodes in k-Group](https://blog.yushunchen.com/algo/linked-list/reverse-nodes-in-k-group.md): ID: 450; hard; K组翻转链表
- [Add Two Numbers](https://blog.yushunchen.com/algo/linked-list/add-two-numbers.md): ID: 2; medium
- [Swap Nodes in Pairs](https://blog.yushunchen.com/algo/linked-list/swap-nodes-in-pairs.md): ID: 24; medium
- [Rotate List](https://blog.yushunchen.com/algo/linked-list/rotate-list.md): ID: 61; medium
- [Linked List Cycle](https://blog.yushunchen.com/algo/linked-list/linked-list-cycle.md): ID: 141; easy
- [Linked List Cycle II](https://blog.yushunchen.com/algo/linked-list/linked-list-cycle-ii.md): ID: 142; medium
- [Intersection of Two Linked Lists](https://blog.yushunchen.com/algo/linked-list/intersection-of-two-linked-lists.md): ID: 160; easy
- [Remove Linked List Elements](https://blog.yushunchen.com/algo/linked-list/remove-linked-list-elements.md): ID: 203; easy
- [Reverse Linked List](https://blog.yushunchen.com/algo/linked-list/reverse-linked-list.md): ID: 206; easy
- [Delete Node in a Linked List](https://blog.yushunchen.com/algo/linked-list/delete-node-in-a-linked-list.md): ID: 237; easy
- [Odd Even Linked List](https://blog.yushunchen.com/algo/linked-list/odd-even-linked-list.md): ID: 328; medium
- [Partition List](https://blog.yushunchen.com/algo/linked-list/partition-list.md): ID: 86; medium
- [Recursion Basics](https://blog.yushunchen.com/algo/recursion-basics.md)
- [Fibonacci](https://blog.yushunchen.com/algo/recursion-basics/fibonacci.md): ID: 366; naive; 斐波纳契数列
- [Double Factorial](https://blog.yushunchen.com/algo/recursion-basics/double-factorial.md): ID: 771; easy; 二阶阶乘
- [Reverse Order Storage](https://blog.yushunchen.com/algo/recursion-basics/reverse-order-storage.md): ID: 822; easy; 相反的顺序存储
- [Linked List Weighted Sum In Reverse Order](https://blog.yushunchen.com/algo/recursion-basics/linked-list-weighted-sum-in-reverse-order.md): ID: 786; easy;
- [Binary Tree](https://blog.yushunchen.com/algo/binary-tree.md)
- [1. Traversal](https://blog.yushunchen.com/algo/binary-tree/1.-traversal.md)
- [Binary Tree Preorder Traversal](https://blog.yushunchen.com/algo/binary-tree/1.-traversal/binary-tree-preorder-traversal.md): ID: 144; easy
- [Binary Tree Inorder Traversal](https://blog.yushunchen.com/algo/binary-tree/1.-traversal/binary-tree-inorder-traversal.md): ID: 94; easy
- [Binary Tree Postorder Traversal](https://blog.yushunchen.com/algo/binary-tree/1.-traversal/binary-tree-postorder-traversal.md): ID: 145; easy
- [Construct Binary Tree from Inorder and Postorder Traversal](https://blog.yushunchen.com/algo/binary-tree/1.-traversal/construct-binary-tree-from-inorder-and-postorder-traversal.md): ID: 72; medium; 中序遍历和后序遍历树构造二叉树
- [Minimum Depth of Binary Tree](https://blog.yushunchen.com/algo/binary-tree/1.-traversal/minimum-depth-of-binary-tree.md): ID: 111; easy
- [Find Leaves of Binary Tree](https://blog.yushunchen.com/algo/binary-tree/1.-traversal/find-leaves-of-binary-tree.md): ID: 650; medium; 二叉树叶子顺序遍历
- [Reconstruct Itinerary](https://blog.yushunchen.com/algo/binary-tree/1.-traversal/reconstruct-itinerary.md): ID: 1288; medium;
- [2. Classical Questions](https://blog.yushunchen.com/algo/binary-tree/2.-classical-questions.md)
- [Maximum Depth of Binary Tree](https://blog.yushunchen.com/algo/binary-tree/2.-classical-questions/maximum-depth-of-binary-tree.md): ID: 104; easy
- [Average of Levels in Binary Tree](https://blog.yushunchen.com/algo/binary-tree/2.-classical-questions/average-of-levels-in-binary-tree.md): ID: 1115; easy; 二叉树每层的平均数
- [Binary Tree Leaf Sum](https://blog.yushunchen.com/algo/binary-tree/2.-classical-questions/binary-tree-leaf-sum.md): ID: 481; easy; 二叉树叶子节点之和
- [Invert Binary Tree](https://blog.yushunchen.com/algo/binary-tree/2.-classical-questions/invert-binary-tree.md): ID: 226; easy
- [Binary Tree Path Sum](https://blog.yushunchen.com/algo/binary-tree/2.-classical-questions/binary-tree-path-sum.md): ID: 376; easy;  二叉树的路径和
- [Binary Tree Path Sum II](https://blog.yushunchen.com/algo/binary-tree/2.-classical-questions/binary-tree-path-sum-ii.md): ID: 246; medium; 二叉树的路径和 II
- [Binary Tree Path Sum III](https://blog.yushunchen.com/algo/binary-tree/2.-classical-questions/binary-tree-path-sum-iii.md): ID: 472; hard; 二叉树的路径和 III
- [Clone Binary Tree](https://blog.yushunchen.com/algo/binary-tree/2.-classical-questions/clone-binary-tree.md): ID: 375; medium; 克隆二叉树
- [Sum Root to Leaf Numbers](https://blog.yushunchen.com/algo/binary-tree/2.-classical-questions/sum-root-to-leaf-numbers.md): ID: 1353; medium; 根节点到叶节点求和
- [Binary Tree Level Sum](https://blog.yushunchen.com/algo/binary-tree/2.-classical-questions/binary-tree-level-sum.md): ID: 482; easy; 二叉树的某层节点之和
- [Binary Tree Paths](https://blog.yushunchen.com/algo/binary-tree/2.-classical-questions/binary-tree-paths.md): ID: 257; easy
- [3. Binary Search Tree](https://blog.yushunchen.com/algo/binary-tree/3.-binary-search-tree.md)
- [Insert Node in a Binary Search Tree](https://blog.yushunchen.com/algo/binary-tree/3.-binary-search-tree/insert-node-in-a-binary-search-tree.md): ID: 85; easy; 在二叉查找树中插入节点
- [Remove Node in Binary Search Tree](https://blog.yushunchen.com/algo/binary-tree/3.-binary-search-tree/remove-node-in-binary-search-tree.md): ID: 87; hard; 删除二叉查找树的节点
- [Validate Binary Search Tree](https://blog.yushunchen.com/algo/binary-tree/3.-binary-search-tree/validate-binary-search-tree.md): ID: 98; medium; 验证二叉查找树
- [Trim a Binary Search Tree](https://blog.yushunchen.com/algo/binary-tree/3.-binary-search-tree/trim-a-binary-search-tree.md): ID: 701; medium; 修剪二叉搜索树
- [Search Range in Binary Search Tree](https://blog.yushunchen.com/algo/binary-tree/3.-binary-search-tree/search-range-in-binary-search-tree.md): ID: 11; medium; 二叉查找树中搜索区间
- [Inorder Successor in BST](https://blog.yushunchen.com/algo/binary-tree/3.-binary-search-tree/inorder-successor-in-bst.md): ID: 448; medium; 二叉查找树的中序后继
- [Binary Search Tree Iterator](https://blog.yushunchen.com/algo/binary-tree/3.-binary-search-tree/binary-search-tree-iterator.md): ID: 86; hard; 二叉查找树迭代器
- [Recover Binary Search Tree](https://blog.yushunchen.com/algo/binary-tree/3.-binary-search-tree/recover-binary-search-tree.md): ID: 691; medium; 恢复二叉搜索树
- [4. Divide and Conquer](https://blog.yushunchen.com/algo/binary-tree/4.-divide-and-conquer.md)
- [Balanced Binary Tree](https://blog.yushunchen.com/algo/binary-tree/4.-divide-and-conquer/balanced-binary-tree.md): ID: 110; easy
- [Minimum Subtree](https://blog.yushunchen.com/algo/binary-tree/4.-divide-and-conquer/minimum-subtree.md): ID: 596; easy; 最小子树
- [Subtree with Maximum Average](https://blog.yushunchen.com/algo/binary-tree/4.-divide-and-conquer/subtree-with-maximum-average.md): ID: 597; easy
- [Maximum Subtree](https://blog.yushunchen.com/algo/binary-tree/4.-divide-and-conquer/maximum-subtree.md): ID: 628; easy
- [Lowest Common Ancestor of a Binary Tree](https://blog.yushunchen.com/algo/binary-tree/4.-divide-and-conquer/lowest-common-ancestor-of-a-binary-tree.md): ID: 88; medium
- [Lowest Common Ancestor II](https://blog.yushunchen.com/algo/binary-tree/4.-divide-and-conquer/lowest-common-ancestor-ii.md): ID: 474; easy
- [Lowest Common Ancestor III](https://blog.yushunchen.com/algo/binary-tree/4.-divide-and-conquer/lowest-common-ancestor-iii.md): ID: 578; medium
- [Binary Tree Maximum Path Sum II](https://blog.yushunchen.com/algo/binary-tree/4.-divide-and-conquer/binary-tree-maximum-path-sum-ii.md): ID: 475; medium
- [Binary Tree Maximum Path Sum](https://blog.yushunchen.com/algo/binary-tree/4.-divide-and-conquer/binary-tree-maximum-path-sum.md): ID: 94; medium
- [Path Sum III](https://blog.yushunchen.com/algo/binary-tree/4.-divide-and-conquer/path-sum-iii.md): ID: 437; medium
- [Convert Sorted Array to Binary Search Tree](https://blog.yushunchen.com/algo/binary-tree/convert-sorted-array-to-binary-search-tree.md): ID; 108; easy
- [Path Sum](https://blog.yushunchen.com/algo/binary-tree/path-sum.md): ID: 112; easy
- [Lowest Common Ancestor of a Binary Search Tree](https://blog.yushunchen.com/algo/binary-tree/lowest-common-ancestor-of-a-binary-search-tree.md): ID: 235; easy
- [Sum of Left Leaves](https://blog.yushunchen.com/algo/binary-tree/sum-of-left-leaves.md): ID: 404; easy
- [Minimum Absolute Difference in BST](https://blog.yushunchen.com/algo/binary-tree/minimum-absolute-difference-in-bst.md): ID: 530; easy
- [Minimum Distance Between BST Nodes](https://blog.yushunchen.com/algo/binary-tree/minimum-distance-between-bst-nodes.md): ID: 783; easy
- [Convert Sorted List to Binary Search Tree](https://blog.yushunchen.com/algo/binary-tree/convert-sorted-list-to-binary-search-tree.md): ID: 109; medium
- [Range Sum of BST](https://blog.yushunchen.com/algo/binary-tree/range-sum-of-bst.md): ID: 938; easy
- [Kth Smallest Element in a BST](https://blog.yushunchen.com/algo/binary-tree/kth-smallest-element-in-a-bst.md): ID: 230; medium
- [Find Largest Value in Each Tree Row](https://blog.yushunchen.com/algo/binary-tree/find-largest-value-in-each-tree-row.md): ID: 515; medium
- [Sorting](https://blog.yushunchen.com/algo/sorting.md)
- [Sort Integers](https://blog.yushunchen.com/algo/sorting/sort-integers.md): ID: 463; naive
- [Merge Two Sorted Arrays](https://blog.yushunchen.com/algo/sorting/merge-two-sorted-arrays.md): ID: 6; easy
- [Reverse Pair](https://blog.yushunchen.com/algo/sorting/reverse-pair.md): ID: 532; medium
- [Sort List](https://blog.yushunchen.com/algo/sorting/sort-list.md): ID: 98; medium
- [Partition Array](https://blog.yushunchen.com/algo/sorting/partition-array.md): ID: 31; medium
- [Sort Colors](https://blog.yushunchen.com/algo/sorting/sort-colors-1.md): ID: 75; medium
- [Kth Largest Element](https://blog.yushunchen.com/algo/sorting/kth-largest-element.md): ID: 5; medium
- [Multi-keyword Sort](https://blog.yushunchen.com/algo/sorting/multi-keyword-sort.md): ID: 846; easy
- [Two Pointers](https://blog.yushunchen.com/algo/two-pointers.md)
- [Window Sum](https://blog.yushunchen.com/algo/two-pointers/window-sum.md): ID: 604; easy
- [Two Sum - Difference equals to target](https://blog.yushunchen.com/algo/two-pointers/two-sum-difference-equals-to-target.md): ID: 610; medium
- [Valid Palindrome](https://blog.yushunchen.com/algo/two-pointers/valid-palindrome.md): ID: 415; medium
- [Remove Duplicates from Sorted Array](https://blog.yushunchen.com/algo/two-pointers/remove-duplicates-from-sorted-array.md): ID: 26: Easy
- [Recover Rotated Sorted Array](https://blog.yushunchen.com/algo/two-pointers/recover-rotated-sorted-array.md): ID: 39; easy
- [Two Sum II - Input array is sorted](https://blog.yushunchen.com/algo/two-pointers/two-sum-ii-input-array-is-sorted.md): ID: 167; easy
- [Two Sum - Unique pairs](https://blog.yushunchen.com/algo/two-pointers/two-sum-unique-pairs.md): ID: 587; medium
- [Two Sum - Closest to target](https://blog.yushunchen.com/algo/two-pointers/two-sum-closest-to-target.md): ID: 533; medium
- [Queue & Stack](https://blog.yushunchen.com/algo/queue-and-stack.md)
- [Implement Queue by Interface](https://blog.yushunchen.com/algo/queue-and-stack/implement-queue-by-interface.md): ID: 546; easy
- [Implement Stack](https://blog.yushunchen.com/algo/queue-and-stack/implement-stack.md): ID: 495; easy
- [Implement Queue by Two Stacks](https://blog.yushunchen.com/algo/queue-and-stack/implement-queue-by-two-stacks.md): ID: 40; medium
- [Implement Stack by Two Queues](https://blog.yushunchen.com/algo/queue-and-stack/implement-stack-by-two-queues.md): ID: 494; easy
- [Binary Tree Level Order Traversal](https://blog.yushunchen.com/algo/queue-and-stack/binary-tree-level-order-traversal.md): ID: 69; easy
- [Valid Parentheses](https://blog.yushunchen.com/algo/queue-and-stack/valid-parentheses.md): ID: 20; easy
- [Min Stack](https://blog.yushunchen.com/algo/queue-and-stack/min-stack.md): ID: 12; medium
- [Largest Rectangle in Histogram](https://blog.yushunchen.com/algo/queue-and-stack/largest-rectangle-in-histogram.md): ID: 122; hard
- [Evaluate Reverse Polish Notation](https://blog.yushunchen.com/algo/queue-and-stack/evaluate-reverse-polish-notation.md): ID: 424; medium
- [Implement Queue by Linked List II](https://blog.yushunchen.com/algo/queue-and-stack/implement-queue-by-linked-list-ii.md): ID: 493; easy
- [Basic Calculator II](https://blog.yushunchen.com/algo/queue-and-stack/basic-calculator-ii.md): ID: 980; medium
- [Moving Average from Data Stream](https://blog.yushunchen.com/algo/queue-and-stack/moving-average-from-data-stream.md): ID: 642; easy
- [Reveal Cards In Increasing Order](https://blog.yushunchen.com/algo/queue-and-stack/reveal-cards-in-increasing-order.md): ID: 950; medium
- [Longest Valid Parentheses](https://blog.yushunchen.com/algo/queue-and-stack/longest-valid-parentheses.md): ID: 193; medium
- [Hash Table](https://blog.yushunchen.com/algo/hash-table.md)
- [Rehashing](https://blog.yushunchen.com/algo/hash-table/rehashing.md): ID: 129; medium
- [Valid Anagram](https://blog.yushunchen.com/algo/hash-table/valid-anagram.md): ID: 242; easy
- [Two Sum](https://blog.yushunchen.com/algo/hash-table/two-sum.md): ID: 1; Easy
- [Contiguous Array](https://blog.yushunchen.com/algo/hash-table/contiguous-array.md): ID: 525; medium
- [Anagrams](https://blog.yushunchen.com/algo/hash-table/anagrams.md): ID: 171; medium
- [Remove Duplicate Numbers in Array](https://blog.yushunchen.com/algo/hash-table/remove-duplicate-numbers-in-array.md): ID: 521; easy
- [Friendship Service](https://blog.yushunchen.com/algo/hash-table/friendship-service.md): ID: 560; easy
- [Heap & Priority Queue](https://blog.yushunchen.com/algo/heap-and-priority-queue.md)
- [Heapify](https://blog.yushunchen.com/algo/heap-and-priority-queue/heapify.md): ID: 130; medium
- [Top k Largest Numbers II](https://blog.yushunchen.com/algo/heap-and-priority-queue/top-k-largest-numbers-ii.md): ID: 545; medium
- [K Closest Points](https://blog.yushunchen.com/algo/heap-and-priority-queue/k-closest-points.md): ID: 612; medium; \*
- [Kth Smallest Number in Sorted Matrix](https://blog.yushunchen.com/algo/heap-and-priority-queue/kth-smallest-number-in-sorted-matrix.md): ID: 401; medium
- [Find Median from Data Stream](https://blog.yushunchen.com/algo/heap-and-priority-queue/find-median-from-data-stream.md): ID: 81; hard
- [Sliding Window Median](https://blog.yushunchen.com/algo/heap-and-priority-queue/sliding-window-median.md): ID: 360; hard
- [Trapping Rain Water II](https://blog.yushunchen.com/algo/heap-and-priority-queue/trapping-rain-water-ii.md): ID: 364; hard
- [High Five](https://blog.yushunchen.com/algo/heap-and-priority-queue/high-five.md): ID: 613; medium
- [BFS](https://blog.yushunchen.com/algo/bfs.md)
- [1. BFS in Binary Tree](https://blog.yushunchen.com/algo/bfs/1.-bfs-in-binary-tree.md)
- [Check Full Binary Tree](https://blog.yushunchen.com/algo/bfs/1.-bfs-in-binary-tree/check-full-binary-tree.md): ID: 726; medium
- [Binary Tree Level Order Traversal II](https://blog.yushunchen.com/algo/bfs/1.-bfs-in-binary-tree/binary-tree-level-order-traversal-ii.md): ID: 70; medium
- [Binary Tree Maximum Path Sum II](https://blog.yushunchen.com/algo/bfs/1.-bfs-in-binary-tree/binary-tree-maximum-path-sum-ii.md): ID: 475; medium
- [Convert Binary Tree to Linked Lists by Depth](https://blog.yushunchen.com/algo/bfs/1.-bfs-in-binary-tree/convert-binary-tree-to-linked-lists-by-depth.md): ID: 242; easy
- [2. Connected Graph & Topologic Sorting](https://blog.yushunchen.com/algo/bfs/2.-connected-graph-and-topologic-sorting.md)
- [Search Graph Nodes](https://blog.yushunchen.com/algo/bfs/2.-connected-graph-and-topologic-sorting/search-graph-nodes.md): ID: 618; medium
- [Graph Valid Tree](https://blog.yushunchen.com/algo/bfs/2.-connected-graph-and-topologic-sorting/graph-valid-tree.md): ID: 178; medium
- [Connected Component in Undirected Graph](https://blog.yushunchen.com/algo/bfs/2.-connected-graph-and-topologic-sorting/connected-component-in-undirected-graph.md): ID: 431; medium
- [Topological Sorting](https://blog.yushunchen.com/algo/bfs/2.-connected-graph-and-topologic-sorting/topological-sorting.md): ID: 127; medium
- [Course Schedule](https://blog.yushunchen.com/algo/bfs/2.-connected-graph-and-topologic-sorting/course-schedule.md): ID: 615; medium
- [Course Schedule II](https://blog.yushunchen.com/algo/bfs/2.-connected-graph-and-topologic-sorting/course-schedule-ii.md): ID: 616; medium
- [Sequence Reconstruction](https://blog.yushunchen.com/algo/bfs/2.-connected-graph-and-topologic-sorting/sequence-reconstruction.md): ID: 605; medium
- [Clone Graph](https://blog.yushunchen.com/algo/bfs/2.-connected-graph-and-topologic-sorting/clone-graph.md): ID: 137; medium
- [Alien Dictionary](https://blog.yushunchen.com/algo/bfs/2.-connected-graph-and-topologic-sorting/alien-dictionary.md): ID: 892; hard
- [Array](https://blog.yushunchen.com/algo/array.md)
- [Remove Element](https://blog.yushunchen.com/algo/array/remove-element.md): ID: 27; Easy
- [Search Insert Position](https://blog.yushunchen.com/algo/array/search-insert-position.md): ID: 35; easy
- [Maximum Subarray](https://blog.yushunchen.com/algo/array/maximum-subarray.md): ID: 35; easy
- [Plus One](https://blog.yushunchen.com/algo/array/plus-one.md): ID: 66; Easy
- [Merge Sorted Array](https://blog.yushunchen.com/algo/array/merge-sorted-array.md): ID: 88; easy
- [Pascal's Triangle](https://blog.yushunchen.com/algo/array/pascals-triangle.md): ID: 118; easy
- [Pascal's Triangle II](https://blog.yushunchen.com/algo/array/pascals-triangle-ii.md): ID: 119; easy
- [Best Time to Buy and Sell Stock](https://blog.yushunchen.com/algo/array/best-time-to-buy-and-sell-stock.md): ID: 121; easy
- [Best Time to Buy and Sell Stock II](https://blog.yushunchen.com/algo/array/best-time-to-buy-and-sell-stock-ii.md): ID: 122; easy
- [Majority Element](https://blog.yushunchen.com/algo/array/majority-element.md): ID: 169; easy
- [Contains Duplicate](https://blog.yushunchen.com/algo/array/contains-duplicate.md): ID: 217; easy
- [Contains Duplicate II](https://blog.yushunchen.com/algo/array/contains-duplicate-ii.md): ID: 219; easy
- [Summary Ranges](https://blog.yushunchen.com/algo/array/summary-ranges.md): ID: 228; easy
- [Missing Number](https://blog.yushunchen.com/algo/array/missing-number.md): ID: 268; easy
- [Move Zeroes](https://blog.yushunchen.com/algo/array/move-zeroes.md): ID: 283; easy
- [Third Maximum Number](https://blog.yushunchen.com/algo/array/third-maximum-number.md): ID: 414; easy
- [Binary Search](https://blog.yushunchen.com/algo/array/binary-search.md): ID: 704; easy
- [Pairs of Songs With Total Durations Divisible by 60](https://blog.yushunchen.com/algo/array/pairs-of-songs-with-total-durations-divisible-by-60.md): ID: 1010; medium
- [3Sum](https://blog.yushunchen.com/algo/array/3sum.md): ID: 15; medium
- [Median of Two Sorted Arrays](https://blog.yushunchen.com/algo/array/median-of-two-sorted-arrays.md): ID: 4; hard
- [Running Sum of 1d Array](https://blog.yushunchen.com/algo/array/running-sum-of-1d-array.md): ID: 1480; easy
- [Container With Most Water](https://blog.yushunchen.com/algo/array/container-with-most-water.md): ID: 11; medium
- [String](https://blog.yushunchen.com/algo/string.md)
- [Longest Substring Without Repeating Characters](https://blog.yushunchen.com/algo/string/longest-substring-without-repeating-characters.md): ID: 3; medium
- [Roman to Integer](https://blog.yushunchen.com/algo/string/roman-to-integer.md): ID: 13; easy
- [Implement strStr()](https://blog.yushunchen.com/algo/string/implement-strstr.md): ID: 28; easy
- [Reverse Words in a String](https://blog.yushunchen.com/algo/string/reverse-words-in-a-string.md): ID: 151; medium
- [First Unique Character in a String](https://blog.yushunchen.com/algo/string/first-unique-character-in-a-string.md): ID: 209; easy
- [Count Unique Characters of All Substrings of a Given String](https://blog.yushunchen.com/algo/string/count-unique-characters-of-all-substrings-of-a-given-string.md): ID: 828; hard
- [Math](https://blog.yushunchen.com/algo/math.md)
- [Pow(x, n)](https://blog.yushunchen.com/algo/math/pow-x-n.md): ID: 50; medium
- [Narcissistic Number](https://blog.yushunchen.com/algo/math/narcissistic-number.md): ID: 147; easy
- [A + B Problem](https://blog.yushunchen.com/algo/math/a-+-b-problem.md): ID: 1; naive
- [Dynamic Programming](https://blog.yushunchen.com/algo/dynamic-programming.md)
- [Fibonacci Number](https://blog.yushunchen.com/algo/dynamic-programming/fibonacci-number.md): ID: 509; easy
- [N-th Tribonacci Number](https://blog.yushunchen.com/algo/dynamic-programming/n-th-tribonacci-number.md): ID: 1137; easy
- [Climbing Stairs](https://blog.yushunchen.com/algo/dynamic-programming/climbing-stairs.md): ID: 70; easy
- [Min Cost Climbing Stairs](https://blog.yushunchen.com/algo/dynamic-programming/min-cost-climbing-stairs.md): ID: 746; easy
- [LeetCode vs. LintCode Table](https://blog.yushunchen.com/algo/leetcode-vs.-lintcode-table.md): For counting duplicated submissions on both platforms


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://blog.yushunchen.com/algo.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
