Algorithm Notes
  • Introduction
  • 开头
    • Longest Palindrome 最长回文串
    • Valid Palindrome 有效回文串
    • Valid Palindrome II
    • Implement strStr()
    • Longest Palindromic Substring 最长回文子串
    • Longest Palindromic Subsequence 最长的回文序列
  • Binary Search & O(logN)
    • Total Occurrence of Target 目标出现总和
    • Closest Number in Sorted Array 排序数组中最接近元素
    • Search a 2D Matrix II 搜索二维矩阵 II
    • Smallest Rectangle Enclosing Black Pixels 包裹黑色像素点的最小矩形
    • Search in a Big Sorted Array 在大数组中查找
    • Maximum Number in Mountain Sequence 山脉序列中的最大值
    • Find Minimum in Rotated Sorted Array 寻找旋转排序数组中的最小值
    • Find Minimum in Rotated Sorted Array II 寻找旋转排序数组中的最小值 II
    • Search in Rotated Sorted Array 搜索旋转排序数组
    • Search in Rotated Sorted Array II 搜索旋转排序数组 II
    • Recover Rotated Sorted Array 恢复旋转排序数组
    • Copy Books 及其几道变形题
  • 数值类
    • Count Primes, Kth Prime Number
    • Prime Factorization 分解质因数
    • Divide Two Integers
    • Greatest Common Divisor 最大公约数(辗转相除法)
    • Pow(x, n) 快速幂
    • 幂数取余
  • Binary Tree
    • Closest Binary Search Tree Value
    • Binary Tree Inorder Traversal 二叉树的中序遍历
    • Binary Tree Preorder Traversal 二叉树的前序遍历
    • Binary Tree Postorder Traversal 二叉树的后序遍历
    • Binary Search Tree Iterator 二叉查找树迭代器
    • Inorder Predecessor in BST
    • Inorder Successor in BST
    • Minimum Subtree 最小子树
    • Binary Tree Paths 二叉树的所有路径
    • Flatten Binary Tree to Linked List 将二叉树拆成链表
    • Balanced Binary Tree 平衡二叉树
    • Kth Smallest Element in BST
    • Lowest Common Ancestor of a Binary Search Tree
    • Lowest Common Ancestor II 最近公共祖先 II
    • Lowest Common Ancestor 最近公共祖先
    • Lowest Common Ancestor III 最近公共祖先 III
    • Maximum Depth of Binary Tree 二叉树的最大深度
    • Minimum Depth of Binary Tree 二叉树的最小深度
    • Path Sum
    • Path Sum II / Binary Tree Path Sum 二叉树的路径和
    • Path Sum III / Binary Tree Path Sum II
    • Path Sum IV / Binary Tree Path Sum IV
    • Binary Tree Path Sum III
    • Closest Binary Search Tree Value II
  • Linked List
    • Reverse Linked List
    • Reverse Linked List II
    • Add Two Numbers
    • Add Two Numbers II
  • Two Pointers 双指针/滑动窗口/Two Sum
    • Middle of linked list 链表的中点
    • Move Zeroes 移动零
    • Window Sum 滑动窗口内数的和
    • Remove Duplicate Numbers in Array 去除重复元素
    • Sort Colors 颜色分类
    • Two Sum 两数之和
    • Two Sum II - Input array is sorted 两数和-输入已排序的数组
    • Two Sum III - Data structure design 两数之和-数据结构设计
    • Two Sum - Greater than target
    • Two Sum - Closest to target
    • Two Sum - Unique pairs
    • 3Sum 三数之和
    • 3Sum Closest 最接近的三数之和
    • 3Sum Smaller
    • 3sum II 三数之和 II
    • Permutation in String
    • Same Number
    • Minimum Size Subarray Sum
    • Longest Substring Without Repeating Characters
    • Longest Substring with At Most K Distinct Characters
  • Breadth First Search 宽度优先搜索
    • Number of Islands 岛屿的个数
    • Surrounded Regions 被围绕的区域
    • Topological Sorting 拓扑排序
    • Course Schedule 课程表
    • Course Schedule II 课程表 II
    • Sequence Reconstruction 序列重构
    • Clone Graph 克隆图
    • Word Ladder 单词接龙
    • Graph Valid Tree 图是否是树
    • Binary Tree Zigzag Level Order Traversal 二叉树的锯齿形层次遍历
    • 缺了1号刷的几个题
    • Binary Tree Level Order Traversal II 二叉树的层次遍历 II
    • Sliding Puzzle II 滑动拼图II
    • Build Post Office II 邮局的建立 II
    • Knight Shortest Path 骑士的最短路线
    • Police Distance
    • Directed Graph Loop
  • DFS - Combination Based
    • Split String 分割字符串
    • Find the Missing Number II 寻找丢失的数 II
    • Palindrome Partitioning 分割回文串
    • Combinations 组合
    • Subsets 子集
    • Subsets II 带重复元素的子集
    • Combination Sum
    • Combination Sum II
    • Combination Sum III
    • Combination Sum IV
    • Word Break II 单词拆分II
  • Greedy 贪心
    • 几个必须“背诵”的贪心算法题
    • Missing Number / Find the Missing Number
    • Jump Game
    • Jump Game II
    • Queue Reconstruction by Height
  • Bit Manipulation 位运算
    • Missing Number / Find the Missing Number
    • Update Bits
    • A + B Problem
    • O(1) Check Power of 2
    • Count 1 in Binary
    • Flip Bits
    • Subsets
    • Single Number
    • Single Number II
    • Single Number III
  • DFS - Permutation Based and Graph Based
    • Permutation Index 排列序号
    • Permutation Index II 排列序号II
    • Next Permutation 下一个排列
    • previous permutation 上一个排列
    • Permutations 全排列
    • Permutations II 全排列 II
    • String Permutation I & II
    • Next Closest Time
    • Letter Combinations of a Phone Number
    • Word Squares
    • Word Pattern II
    • Word Search 单词搜索
    • Word Search II 单词搜索 II
    • Word Ladder II 单词接龙 II
  • Dynamic Programming 动态规划
    • Word Break 单词拆分 I
    • Word Break III 单词拆分 III
    • Ones and Zeroes
    • Largest Divisible Subset
    • Perfect Squares
    • Stone Game
    • Unique Paths
    • Unique Paths II
    • Unique Paths III
    • Jump Game
    • Coin Change
    • Coin Change 2
    • Maximum Product Subarray
    • Minimum Path Sum
    • Decode Ways
    • Bomb Enemy
    • Paint House
    • Paint House II
    • Counting Bits
    • Longest Increasing Subsequence
    • Russian Doll Envelopes
    • Digital Flip
    • Best Time to Buy and Sell Stock III
    • Best Time to Buy and Sell Stock IV
    • Copy Books
    • Copy Books II
    • Coins in a Line
    • Coins in a Line II
    • Coins in a Line III
    • Burst Balloons
    • Scramble String
    • Longest Common Subsequence
    • Interleaving String
    • Distinct Subsequences
    • Edit Distance
    • K Edit Distance
    • Wildcard Matching
    • Regular Expression Matching
    • Rogue Knight Sven
    • Decode Ways II
    • Maximal Square
    • Predict the Winner
    • Merge stone 石子合并 系列
  • Knapsack / Backpack 背包问题
    • Knapsack / Rucksack / Backpack 背包问题
    • Backpack II 背包 II
    • Backpack III 背包 III
    • Backpack IV 背包 IV
    • Backpack V 背包 V
    • Combination Sum IV 别名 背包 VI
    • Backpack VII 背包 VII
    • Backpack VIII 背包 VIII
    • Backpack IX 背包 IX
    • Backpack X 背包X
    • k Sum
  • Stack Queue Hash Heap - Data Structure
    • Word Pattern
    • Isomorphic Strings / Strings Homomorphism 字符同构
    • Moving Average from Data Stream
    • Implement Stack
    • Hash Function 哈希函数
    • Implement Stack using Queues / Implement Stack by Two Queues
    • First Unique Character in a String
    • First Unique Number in a Stream I & II
    • Insert Delete GetRandom O(1)
    • Insert Delete GetRandom O(1) - Duplicates allowed
    • Kth Largest Element II 第K大的元素 II
    • K Closest Points
    • Top k Largest Numbers 前K大数
    • Merge k Sorted Lists
    • Ugly Number II
    • Implement Queue using Stacks
    • LRU Cache
    • High Five 优秀成绩
    • Flatten 2D Vector 摊平二维向量
    • Top k Largest Numbers II 前K大数 II
    • Load Balancer 负载均衡器
    • Rehashing 重哈希
    • Heapify 堆化
    • Longest Consecutive Sequence 最长连续序列
    • Kth Largest in N Arrays
    • Kth Smallest Element in a Sorted Matrix
    • Kth Smallest Sum In Two Sorted Arrays
    • Find K Pairs with Smallest Sums
    • Find K-th Smallest Pair Distance
    • Bulls and Cows
    • Find Median from Data Stream
    • Sliding Window Median
  • Array Matrix Interval Binary-indexed-tree
    • Merge Intervals
    • Merge Two Sorted Interval Lists
    • Merge K Sorted Interval Lists
    • Merge Sorted Array
    • Merge Two Sorted Arrays
    • Merge K Sorted Arrays
    • Intersection of Two Arrays 两数组的交
    • Intersection of Two Arrays II
    • --- Sub-Array, Sub-Matrix ---
    • Subarray Sum
    • Maximum Subarray
    • Range Sum Query - Immutable
    • Range Sum Query 2D - Immutable
    • Range Sum Query - Mutable
    • Range Sum Query 2D - Mutable
    • Submatrix Sum
    • Maximum Submatrix
    • Median of two Sorted Arrays
    • Median of K Sorted Arrays
    • Sparse Matrix Multiplication
    • Best Time to Buy and Sell Stock
    • Best Time to Buy and Sell Stock II
  • Segment Tree
    • Basic Operations: Build, Modify and Query
    • Interval Sum 区间求和
    • Interval Sum II 区间求和 II
    • Interval Minimum Number
    • Count of Smaller Number
    • Count of Smaller Number before itself
    • Count of Smaller Numbers After Self
  • Trie 字典树
    • Implement Trie (Prefix Tree)
    • Map Sum Pairs
    • Replace Words
    • Add and Search Word - Data structure design
    • Maximum XOR of Two Numbers in an Array
    • Word Search II
  • Union Find
    • Maximum Association Set
    • Connecting Graph
    • Connecting Graph II
    • Connecting Graph III
    • Number of Islands II
    • Redundant Connection
  • Basic Calculator (Series 1 ~ 4)
    • Basic Calculator
    • Basic Calculator II
    • Basic Calculator III
    • Basic Calculator IV
  • 灌水类
    • Trapping Rain Water
    • Trapping Rain Water II
    • Container With Most Water
    • Swim in Rising Water
  • 其它类
    • Wiggle Sort 摆动排序
    • Wiggle Sort II 摆动排序 II
    • Build Post Office 邮局的建立
    • Minimum Cycle Section
    • Transform to Chessboard
    • Longest Continuous Increasing Subsequence
  • 经典算法和数据结构
    • Quick Sort, Quick Select, Partition
      • Partition Array 数组划分
      • Sort Colors II 排颜色 II
      • Quick Select · Kth Largest Element 第K大元素
      • Quick Sort
    • 最短路(Dijkstra)算法
    • Bucket Sort 桶排序
    • Rainbow Sort
    • Cantor Expansion 康托展开
    • 图最长路径
    • Prefix Sum 前缀和
    • Binary Indexed Tree or Fenwick Tree
    • Segment Tree 线段树
    • Trie or Prefix Tree
  • 较难的算法
    • Manacher's Algorithm
    • Rabin Karp
    • Pollard Rho快速因数分解
    • A* 算法
  • 其他知识点
    • 还未解的题
    • 面试中常见算法的时间复杂度
    • 复杂度分析
    • 基本文件读写
    • Dynamic type languages versus static type languages
    • B+ Tree, R Tree, Bloom Filter
    • 内存中堆栈的理解
    • 面试中的系统设计部分怎么准备
    • 负数的二进制表示
    • 求最大公约数
  • Python知识点
    • Call by object reference
    • Collections
    • Enumerate
    • 二维数组取列
    • Generators Yield
    • Hash Table
    • Heap
    • Python 2 和 3 的主要区别
    • Queue Stack
    • range 和 xrange
    • Reverse a string list
    • Set
    • String manipulation 字符串处理
    • List Comprehension (Sets, Dicts)
    • 一些 Python 教程的网站
    • 2D Array Declaration
    • Lambda, filter, reduce and map
    • Nested list 转 nested tuple
    • Python data structure time complexity
    • Comparison magic methods
    • bisect — Array bisection algorithm
    • 打印一个数的二进制
    • Python 位运算位数限制
    • classmethod and staticmethod
    • 全局变量和局部变量 Global and Local Variables
  • Java知识点
    • LinkedHashMap
  • C++知识点
    • Comparator
  • System Design
    • Design Twitter
    • Consistent Hashing
  • LeetCode Weekly Contest 81
    • Shortest Distance to a Character
    • Card Flipping Game
    • Short Encoding of Words
    • Binary Trees With Factors
  • LintCode Weekly Mock Interview 15 (For Amazon Onsite)
    • Log Sorting
    • Minimum String Array Coverage
    • Find Substring
    • The Longest Scene
    • Most Frequent Subtree Sum
  • LintCode Quarter Contest 2018-04-27
    • Perfect Squares
    • House Robber
    • Cable Car Ride
    • Lucky Number Eight
    • High Capacity Backpack
    • Subtree Count
    • Segment Stones Merge
    • Maximum Line Coverage
  • LeetCode Weekly Contest 82
    • Goat Latin
    • Friends Of Appropriate Ages
    • Most Profit Assigning Work
    • Making A Large Island
  • LintCode Weekly Mock Interview 16 (For Facebook Onsite)
    • K Decimal Addition
    • Digital Coverage
    • Set Union
    • The Barycentre Of The Trees
    • Integer to English Words
  • LeetCode Weekly Contest 83
    • Positions of Large Groups
    • Masking Personal Information
    • Consecutive Numbers Sum
    • Unique Letter String
  • LintCode Weekly Mock Interview 17 (For Google Onsite)
    • Twitch Words
    • Recommend Friends
    • Fermat Point Of Graphs
    • Take Coins
    • Number of Atoms
  • LeetCode Weekly Contest 84
    • Flipping an Image
    • Find And Replace in String
    • Image Overlap
    • Sum of Distances in Tree
  • LintCode Weekly Mock Interview 18
    • Matrix Water Injection
    • Maximum Product Path
    • Matrix Finding Number
    • Gas Station II
    • Basic Calculator III
  • LeetCode Weekly Contest 85
  • LintCode Weekly Mock Interview 19 (For Twitter Onsite)
    • Residual Product
    • The Previous Number
    • Eat The Beans
    • Tree
    • Find the Difference
  • LeetCode Weekly Contest 86
    • Magic Squares In Grid
    • Keys and Rooms
    • Split Array into Fibonacci Sequence
    • Guess the Word
  • LintCode Weekly 20 (For Hulu Onsite)
    • Weighing Problem
    • Print Organization Chart
    • Maximum Slope Straight Line
    • Construction Queue
  • LeetCode Weekly 87
    • Backspace String Compare
    • Longest Mountain in Array
    • Hand of Straights
    • Shortest Path Visiting All Nodes
  • LintCode Weekly 22
  • LeetCode Weekly 89
  • LintCode Weekly 23
  • LeetCode Weekly 90
    • Buddy Strings
    • Score of Parentheses
    • Mirror Reflection
    • Minimum Cost to Hire K Workers
  • LintCode Weekly 25
    • Time Intersection
    • Leftmost One
    • Maximum Subarray VI
  • LeetCode Weekly 92
    • Transpose Matrix
    • Smallest Subtree with all the Deepest Nodes
  • LintCode Weekly 26
    • Set Operation
    • Predict the Winner / The Game Of Take Numbers
    • Longest Path On The Tree
    • Ask For Cooling Time
  • LeetCode Weekly 93
    • Binary Gap
    • Reordered Power of 2
    • Advantage Shuffle
    • Minimum Number of Refueling Stops
  • LintCode Weekly 27
    • Twins Strings
    • Shortest Phrase
    • Find The Sum Of The Array
  • LeetCode Weekly 94
  • LintCode Weekly 28
    • Function Runtime
    • Judging Triangle
    • Cartesian Product
    • Longest Sequence
  • LeetCode Weekly 95
    • Middle of the Linked List
    • Stone Game
    • Nth Magical Number
    • Profitable Schemes
  • LintCode Weekly 29
    • Coin Problem
    • Climbing Stairs III
    • Parking Problem
    • Order Problem
  • LeetCode Weekly 96
    • Projection Area of 3D Shapes
    • Boats to Save People
    • Decoded String at Index
    • Reachable Nodes In Subdivided Graph
  • LintCode Weekly 30
    • Take the element and query the sum
    • MinimumString
    • Array Maximum Value
  • LeetCode Weekly 97
    • Uncommon Words from Two Sentences
    • Spiral Matrix III
    • Possible Bipartition
  • LintCode Weekly 31
  • LeetCode Weekly 98
  • LintCode Weekly 32
    • Spring Tour
    • Legal String
    • Asking For The Longest 01 Substring
    • Music Playlist
  • LeetCode Weekly 99
    • Surface Area of 3D Shapes
    • Groups of Special-Equivalent Strings
    • All Possible Full Binary Trees
    • Maximum Frequency Stack
  • LeetCode Weekly 104
    • X of a Kind in a Deck of Cards
    • Partition Array into Disjoint Intervals
    • Word Subsets
    • Cat and Mouse
  • LeetCode Weekly 120
    • Squares of a Sorted Array
    • Longest Turbulent Subarray
    • Distribute Coins in Binary Tree
    • Unique Paths III
  • LeetCode Weekly 130
    • Binary Prefix Divisible By 5
    • Convert to Base -2
Powered by GitBook
On this page

Was this helpful?

LeetCode Weekly Contest 81

Shortest Distance to a CharacterCard Flipping GameShort Encoding of WordsBinary Trees With Factors
PreviousConsistent HashingNextShortest Distance to a Character

Last updated 5 years ago

Was this helpful?