Skip to content

kenken-xr/LeetCode-in-Kotlin

 
 

Repository files navigation

SQL I

Day 1 Select

0595 大的国家 Easy Database 417 56.09
1757 可回收且低脂的产品 Easy Database 1237 34.20
0584 寻找用户推荐人 Easy Database 779 43.48
0183 从不订购的客户 Easy Database 712 33.67

Day 2 Select and Order

1873 计算特殊奖金 Easy Database 1321 33.12
0627 变更性别 Easy Database 400 51.04
0196 删除重复的电子邮箱 Easy Database 593 94.17

Day 3 String Processing Functions

1667 修复表中的名字 Easy Database 1196 61.40
1484 按日期分组销售产品 Easy LeetCode_Curated_SQL_70, Database 899 40.76
1527 患某种疾病的患者 Easy Database 708 48.23

Day 4 Union and Select

1965 丢失信息的雇员 Easy Database 949 88.66
1795 每个产品在不同商店的价格 Easy Database 1027 67.57
0608 树节点 Medium LeetCode_Curated_SQL_70, Database 794 48.38
0176 第二高的薪水 Medium Database 219 92.54

Day 5 Union

0175 组合两个表 Easy Database 473 54.97
1581 进店却未进行过交易的顾客 Easy Database 2771 54.68
1148 文章浏览 I Easy LeetCode_Curated_SQL_70, Database 806 54.41

Day 6 Union

0197 上升的温度 Easy Database 394 94.15
0607 销售员 Easy LeetCode_Curated_SQL_70, Database 2142 44.56

Day 7 Function

1141 查询近30天活跃用户数 I Easy LeetCode_Curated_SQL_70, Database 790 87.11
1693 每天的领导和合伙人 Easy Database 1115 52.84
1729 求关注者的数量 Easy Database 1228 38.04

Day 8 Function

0586 订单最多的客户 Easy LeetCode_Curated_SQL_70, Database 768 44.85
0511 游戏玩法分析 I Easy LeetCode_Curated_SQL_70, Database 790 45.04
1890 2020年最后一次登录 Easy Database 1280 43.62
1741 查找每个员工花费的总时间 Easy Database 1101 51.40

Day 9 Control of Flow

1393 股票的资本损益 Medium LeetCode_Curated_SQL_70, Database 990 47.36
1407 排名靠前的旅行者 Easy LeetCode_Curated_SQL_70, Database 1394 98.43
1158 市场分析 I Medium Database 2470 44.76

Day 10 Where

0182 查找重复的电子邮箱 Easy Database 396 68.40
1050 合作过至少三次的演员和导演 Easy LeetCode_Curated_SQL_70, Database 629 81.02
1587 银行账户概要 II Easy Database 1582 52.96
1084 销售分析III Easy LeetCode_Curated_SQL_70, Database 1881 79.36

Level 1

Day 1 Prefix Sum

1480 一维数组的动态和 Easy Array, Prefix_Sum 161 84.80
0724 寻找数组的中心下标 Easy Array, Prefix_Sum 255 88.92

Day 2 String

0205 同构字符串 Easy String, Hash_Table 278 79.96
0392 判断子序列 Easy String, Dynamic_Programming, Two_Pointers 156 87.74

Day 3 Linked List

0021 合并两个有序链表 Easy Top_100_Liked_Questions, Top_Interview_Questions, Linked_List, Recursion, Big_O_Time_O(m+n)_Space_O(m+n) 157 92.24
0206 反转链表 Easy Top_100_Liked_Questions, Top_Interview_Questions, Linked_List, Recursion, Big_O_Time_O(N)_Space_O(1) 279 45.78

Day 4 Linked List

0876 链表的中间结点 Easy Two_Pointers, Linked_List 136 76.52
0142 环形链表 II Medium Top_100_Liked_Questions, Hash_Table, Two_Pointers, Linked_List, Big_O_Time_O(N)_Space_O(1) 192 63.39

Day 5 Greedy

0121 买卖股票的最佳时机 Easy Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(N)_Space_O(1) 609 94.06
0409 最长回文串 Easy String, Hash_Table, Greedy 259 60.71

Day 6 Tree

0589 N 叉树的前序遍历 Easy Depth_First_Search, Tree, Stack 233 84.02
0102 二叉树的层序遍历 Medium Top_100_Liked_Questions, Top_Interview_Questions, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(N)_Space_O(N) 198 95.14

Day 7 Binary Search

0704 二分查找 Easy Top_100_Liked_Questions, Array, Binary_Search 261 77.91
0278 第一个错误的版本 Easy Binary_Search, Interactive 349 76.86

Day 8 Binary Search Tree

0098 验证二叉搜索树 Medium Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Tree, Binary_Tree, Binary_Search_Tree, Big_O_Time_O(N)_Space_O(log(N)) 190 61.62
0235 二叉搜索树的最近公共祖先 Medium Depth_First_Search, Tree, Binary_Tree, Binary_Search_Tree 404 75.59

Day 9 Graph/BFS/DFS

0733 图像渲染 Easy Array, Depth_First_Search, Breadth_First_Search, Matrix 230 97.76
0200 岛屿数量 Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Depth_First_Search, Breadth_First_Search, Matrix, Union_Find, Big_O_Time_O(M*N)_Space_O(M*N) 252 95.41

Day 10 Dynamic Programming

0509 斐波那契数 Easy Dynamic_Programming, Math, Recursion, Memoization 139 82.72
0070 爬楼梯 Easy Top_100_Liked_Questions, Top_Interview_Questions, Dynamic_Programming, Math, Memoization, Big_O_Time_O(n)_Space_O(n) 124 71.98

Day 11 Dynamic Programming

0746 使用最小花费爬楼梯 Easy Array, Dynamic_Programming 171 96.76
0062 不同路径 Medium Top_100_Liked_Questions, Top_Interview_Questions, Dynamic_Programming, Math, Combinatorics, Big_O_Time_O(m*n)_Space_O(m*n) 118 94.65

Day 12 Sliding Window/Two Pointer

0438 找到字符串中所有字母异位词 Medium Top_100_Liked_Questions, String, Hash_Table, Sliding_Window, Big_O_Time_O(n+m)_Space_O(1) 561 54.68
0424 替换后的最长重复字符 Medium String, Hash_Table, Sliding_Window 288 84.38

Day 13 Hashmap

0001 两数之和 Easy Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Big_O_Time_O(n)_Space_O(n) 202 91.18
0299 猜数字游戏 Medium String, Hash_Table, Counting 254 84.82

Day 14 Stack

0844 比较含退格的字符串 Easy String, Two_Pointers, Stack, Simulation 126 98.31
0394 字符串解码 Medium Top_100_Liked_Questions, String, Stack, Recursion, Big_O_Time_O(n)_Space_O(n) 224 64.86

Day 15 Heap

1046 最后一块石头的重量 Easy Array, Heap_Priority_Queue 123 100.00
0692 前K个高频单词 Medium String, Hash_Table, Sorting, Heap_Priority_Queue, Counting, Trie, Bucket_Sort 239 81.10

Level 2

Day 1 Implementation/Simulation

0202 快乐数 Easy Top_Interview_Questions, Hash_Table, Math, Two_Pointers 261 45.08
0054 螺旋矩阵 Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Matrix, Simulation 132 95.12
1706 球会落何处 Medium Array, Dynamic_Programming, Depth_First_Search, Matrix, Simulation 270 67.86

Day 2 String

0014 最长公共前缀 Easy Top_100_Liked_Questions, Top_Interview_Questions, String 154 89.70
0043 字符串相乘 Medium String, Math, Simulation 165 96.72

Day 3 Linked List

0019 删除链表的倒数第 N 个结点 Medium Top_100_Liked_Questions, Top_Interview_Questions, Two_Pointers, Linked_List, Big_O_Time_O(L)_Space_O(L) 144 96.28
0234 回文链表 Easy Top_100_Liked_Questions, Two_Pointers, Stack, Linked_List, Recursion, Big_O_Time_O(n)_Space_O(1) 641 79.53

Day 4 Linked List

0328 奇偶链表 Medium Linked_List 216 86.96
0148 排序链表 Medium Top_100_Liked_Questions, Top_Interview_Questions, Sorting, Two_Pointers, Linked_List, Divide_and_Conquer, Merge_Sort, Big_O_Time_O(log(N))_Space_O(log(N)) 820 61.70

Day 5 Greedy

2131 连接两字母单词得到的最长回文串 Medium Array, String, Hash_Table, Greedy, Counting 607 90.00
0621 任务调度器 Medium Array, Hash_Table, Sorting, Greedy, Heap_Priority_Queue, Counting 266 98.36

Day 6 Tree

0226 翻转二叉树 Easy Top_100_Liked_Questions, Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(n)_Space_O(n) 233 54.90
0110 平衡二叉树 Easy Depth_First_Search, Tree, Binary_Tree 182 71.30

Day 7 Tree

0543 二叉树的直径 Easy Top_100_Liked_Questions, Depth_First_Search, Tree, Binary_Tree, Big_O_Time_O(n)_Space_O(n) 307 43.93
0437 路径总和 III Medium Depth_First_Search, Tree, Binary_Tree, Big_O_Time_O(n)_Space_O(n) 403 54.12

Day 8 Binary Search

0074 搜索二维矩阵 Medium Top_100_Liked_Questions, Array, Binary_Search, Matrix, Big_O_Time_O(endRow+endCol)_Space_O(1) 159 74.46
0033 搜索旋转排序数组 Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Big_O_Time_O(log_n)_Space_O(1) 151 93.77

Day 9 Binary Search Tree

0108 将有序数组转换为二叉搜索树 Easy Top_Interview_Questions, Array, Tree, Binary_Tree, Binary_Search_Tree, Divide_and_Conquer 167 80.29
0230 二叉搜索树中第K小的元素 Medium Top_100_Liked_Questions, Depth_First_Search, Tree, Binary_Tree, Binary_Search_Tree, Big_O_Time_O(n)_Space_O(n) 393 33.33
0173 二叉搜索树迭代器 Medium Tree, Binary_Tree, Stack, Design, Binary_Search_Tree, Iterator 563 46.91

Day 10 Graph/BFS/DFS

0994 腐烂的橘子 Medium Top_100_Liked_Questions, Array, Breadth_First_Search, Matrix 164 82.95
0417 太平洋大西洋水流问题 Medium Array, Depth_First_Search, Breadth_First_Search, Matrix 319 100.00

Day 11 Graph/BFS/DFS

0210 课程表 II Medium Top_Interview_Questions, Depth_First_Search, Breadth_First_Search, Graph, Topological_Sort 266 96.32
0815 公交路线 Hard Array, Hash_Table, Breadth_First_Search 429 100.00

Day 12 Dynamic Programming

0198 打家劫舍 Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(n)_Space_O(n) 156 92.24
0322 零钱兑换 Medium Top_100_Liked_Questions, Array, Dynamic_Programming, Breadth_First_Search, Big_O_Time_O(m*n)_Space_O(amount) 332 50.68

Day 13 Dynamic Programming

0416 分割等和子集 Medium Top_100_Liked_Questions, Array, Dynamic_Programming, Big_O_Time_O(n*sums)_Space_O(n*sums) 204 98.82
0152 乘积最大子数组 Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(N)_Space_O(1) 253 88.42

Day 14 Sliding Window/Two Pointer

0003 无重复字符的最长子串 Medium Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Sliding_Window, Big_O_Time_O(n)_Space_O(1) 201 87.28
0016 最接近的三数之和 Medium Array, Sorting, Two_Pointers 163 100.00
0076 最小覆盖子串 Hard Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Sliding_Window, Big_O_Time_O(s.length())_Space_O(1) 191 96.38

Day 15 Tree

0100 相同的树 Easy Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree 134 86.63
0101 对称二叉树 Easy Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(N)_Space_O(log(N)) 153 82.35
0199 二叉树的右视图 Medium Top_100_Liked_Questions, Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree 194 92.89

Day 16 Design

0232 用栈实现队列 Easy Stack, Design, Queue 258 70.86
0155 最小栈 Medium Top_100_Liked_Questions, Top_Interview_Questions, Stack, Design, Big_O_Time_O(1)_Space_O(N) 331 84.88
0208 实现 Trie (前缀树) Medium Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Design, Trie, Big_O_Time_O(word.length())_or_O(prefix.length())_Space_O(N) 689 61.00

Day 17 Interval

0057 插入区间 Medium Array 249 75.63
0056 合并区间 Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Big_O_Time_O(n_log_n)_Space_O(n) 334 80.67

Day 18 Stack

0735 小行星碰撞 Medium Array, Stack 243 100.00
0227 基本计算器 II Medium String, Math, Stack 383 62.50

Day 19 Union Find

0547 省份数量 Medium Depth_First_Search, Breadth_First_Search, Graph, Union_Find 229 79.73
0947 移除最多的同行或同列石头 Medium Depth_First_Search, Graph, Union_Find 200 100.00

Day 20 Brute Force/Backtracking

0039 组合总和 Medium Top_100_Liked_Questions, Array, Backtracking, Big_O_Time_O(2^n)_Space_O(n+2^n) 226 88.89
0046 全排列 Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Backtracking, Big_O_Time_O(n*n!)_Space_O(n+n!) 188 99.00

Udemy

Udemy Integers

0412 Fizz Buzz Easy String, Math, Simulation 307 71.81
0136 只出现一次的数字 Easy Top_100_Liked_Questions, Top_Interview_Questions, Array, Bit_Manipulation, Big_O_Time_O(N)_Space_O(1) 344 83.63
0007 整数反转 Medium Top_Interview_Questions, Math 149 77.89
0009 回文数 Easy Math 217 95.34
0172 阶乘后的零 Medium Top_Interview_Questions, Math 220 67.65
0050 Pow(x, n) Medium Top_Interview_Questions, Math, Recursion 172 38.68

Udemy Strings

0344 反转字符串 Easy String, Two_Pointers, Recursion 445 69.75
0014 最长公共前缀 Easy Top_100_Liked_Questions, Top_Interview_Questions, String 154 89.70
0187 重复的DNA序列 Medium String, Hash_Table, Bit_Manipulation, Sliding_Window, Hash_Function, Rolling_Hash 319 79.03
0003 无重复字符的最长子串 Medium Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Sliding_Window, Big_O_Time_O(n)_Space_O(1) 201 87.28
0020 有效的括号 Easy Top_100_Liked_Questions, Top_Interview_Questions, String, Stack, Big_O_Time_O(n)_Space_O(n) 137 88.76
0005 最长回文子串 Medium Top_100_Liked_Questions, Top_Interview_Questions, String, Dynamic_Programming, Big_O_Time_O(n)_Space_O(n) 162 99.00
0394 字符串解码 Medium Top_100_Liked_Questions, String, Stack, Recursion, Big_O_Time_O(n)_Space_O(n) 224 64.86
0242 有效的字母异位词 Easy String, Hash_Table, Sorting 251 87.65
0049 字母异位词分组 Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, String, Hash_Table, Sorting, Big_O_Time_O(n*k_log_k)_Space_O(n) 308 96.34
0151 反转字符串中的单词 Medium String, Two_Pointers 206 98.90
0273 整数转换英文表示 Hard String, Math, Recursion 273 82.93

Udemy Binary Search

0704 二分查找 Easy Top_100_Liked_Questions, Array, Binary_Search 261 77.91
0033 搜索旋转排序数组 Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Big_O_Time_O(log_n)_Space_O(1) 151 93.77
0153 寻找旋转排序数组中的最小值 Medium Top_100_Liked_Questions, Array, Binary_Search, Big_O_Time_O(log_N)_Space_O(log_N) 262 60.96

Udemy Arrays

0121 买卖股票的最佳时机 Easy Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(N)_Space_O(1) 609 94.06
0283 移动零 Easy Top_100_Liked_Questions, Array, Two_Pointers, Big_O_Time_O(n)_Space_O(1) 516 79.07
0001 两数之和 Easy Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Big_O_Time_O(n)_Space_O(n) 202 91.18
0217 存在重复元素 Easy Top_Interview_Questions, Array, Hash_Table, Sorting 719 73.49
0058 最后一个单词的长度 Easy String 135 93.67
0605 种花问题 Easy Array, Greedy 209 85.71
0122 买卖股票的最佳时机 II Medium Top_Interview_Questions, Array, Dynamic_Programming, Greedy 197 95.10
0080 删除有序数组中的重复项 II Medium Array, Two_Pointers 192 80.67
0189 轮转数组 Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Math, Two_Pointers, Big_O_Time_O(n)_Space_O(1) 483 86.95
0055 跳跃游戏 Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Greedy, Big_O_Time_O(n)_Space_O(1) 332 89.35
0075 颜色分类 Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Two_Pointers, Big_O_Time_O(n)_Space_O(1) 164 64.43
0066 加一 Easy Top_Interview_Questions, Array, Math 148 98.75
0238 除自身以外数组的乘积 Medium Top_100_Liked_Questions, Array, Prefix_Sum, Big_O_Time_O(n^2)_Space_O(n) 669 48.96
1291 顺次数 Medium Enumeration 114 100.00
0448 找到所有数组中消失的数字 Easy Array, Hash_Table 394 100.00
0442 数组中重复的数据 Medium Array, Hash_Table 480 73.81
0041 缺失的第一个正数 Hard Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Big_O_Time_O(n)_Space_O(n) 357 97.17
0697 数组的度 Easy Array, Hash_Table 289 84.62
0532 数组中的 k-diff 数对 Medium Array, Hash_Table, Sorting, Binary_Search, Two_Pointers 230 84.62
0713 乘积小于 K 的子数组 Medium Array, Sliding_Window 336 92.11
1007 行相等的最少多米诺旋转 Medium Array, Greedy 421 50.00
1306 跳跃游戏 III Medium Array, Depth_First_Search, Breadth_First_Search 291 100.00
0456 132 模式 Medium Array, Binary_Search, Stack, Ordered_Set, Monotonic_Stack 434 100.00
0239 滑动窗口最大值 Hard Top_100_Liked_Questions, Array, Heap_Priority_Queue, Sliding_Window, Queue, Monotonic_Queue, Big_O_Time_O(n*k)_Space_O(n+k) 1059 86.14

Udemy Two Pointers

0392 判断子序列 Easy String, Dynamic_Programming, Two_Pointers 156 87.74
0125 验证回文串 Easy Top_Interview_Questions, String, Two_Pointers 353 52.06
0977 有序数组的平方 Easy Array, Sorting, Two_Pointers 271 77.17
0026 删除有序数组中的重复项 Easy Top_Interview_Questions, Array, Two_Pointers 249 67.38
0042 接雨水 Hard Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Two_Pointers, Stack, Monotonic_Stack, Big_O_Time_O(n)_Space_O(1) 189 99.37
0015 三数之和 Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Two_Pointers, Big_O_Time_O(n*log(n))_Space_O(n^2) 493 93.45

Udemy Famous Algorithm

0053 最大子数组和 Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Divide_and_Conquer, Big_O_Time_O(n)_Space_O(1) 510 78.81
0169 多数元素 Easy Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Sorting, Counting, Divide_and_Conquer, Big_O_Time_O(n)_Space_O(1) 460 51.25

Udemy Sorting Algorithms

0912 排序数组 Medium Array, Sorting, Heap_Priority_Queue, Divide_and_Conquer, Merge_Sort, Bucket_Sort, Counting_Sort, Radix_Sort 606 98.48

Udemy 2D Arrays/Matrix

0304 二维区域和检索 - 矩阵不可变 Medium Array, Matrix, Design, Prefix_Sum 1373 85.71
0074 搜索二维矩阵 Medium Top_100_Liked_Questions, Array, Binary_Search, Matrix, Big_O_Time_O(endRow+endCol)_Space_O(1) 159 74.46
0054 Spiral Matrix Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Matrix, Simulation 132 95.12
0048 Rotate Image Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Math, Matrix, Big_O_Time_O(n^2)_Space_O(1) 160 90.11
1572 Matrix Diagonal Sum Easy Array, Matrix 221 67.61
0073 Set Matrix Zeroes Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Matrix, Big_O_Time_O(m*n)_Space_O(1) 248 97.33
0056 Merge Intervals Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Big_O_Time_O(n_log_n)_Space_O(n) 334 80.67

Udemy Linked List

0114 二叉树展开为链表 Medium Top_100_Liked_Questions, Depth_First_Search, Tree, Binary_Tree, Stack, Linked_List, Big_O_Time_O(N)_Space_O(N) 191 93.10
0445 Add Two Numbers II Medium Math, Stack, Linked_List 240 82.61
0328 Odd Even Linked List Medium Linked_List 216 86.96
0061 旋转链表 Medium Two_Pointers, Linked_List 160 92.22
0024 两两交换链表中的节点 Medium Top_100_Liked_Questions, Linked_List, Recursion, Big_O_Time_O(n)_Space_O(1) 149 44.20
0876 Middle of the Linked List Easy Two_Pointers, Linked_List 136 76.52
0142 Linked List Cycle II Medium Top_100_Liked_Questions, Hash_Table, Two_Pointers, Linked_List, Big_O_Time_O(N)_Space_O(1) 192 63.39
0141 环形链表 Easy Top_100_Liked_Questions, Top_Interview_Questions, Hash_Table, Two_Pointers, Linked_List, Big_O_Time_O(N)_Space_O(1) 223 91.85
0206 Reverse Linked List Easy Top_100_Liked_Questions, Top_Interview_Questions, Linked_List, Recursion, Big_O_Time_O(N)_Space_O(1) 279 45.78
0021 合并两个有序链表 Easy Top_100_Liked_Questions, Top_Interview_Questions, Linked_List, Recursion, Big_O_Time_O(m+n)_Space_O(m+n) 157 92.24
0160 相交链表 Easy Top_100_Liked_Questions, Top_Interview_Questions, Hash_Table, Two_Pointers, Linked_List, Big_O_Time_O(M+N)_Space_O(1) 262 83.50
0234 Palindrome Linked List Easy Top_100_Liked_Questions, Two_Pointers, Stack, Linked_List, Recursion, Big_O_Time_O(n)_Space_O(1) 641 79.53
0138 Copy List with Random Pointer Medium Top_100_Liked_Questions, Top_Interview_Questions, Hash_Table, Linked_List, Big_O_Time_O(N)_Space_O(N) 274 80.58
0025 Reverse Nodes in k-Group Hard Top_100_Liked_Questions, Linked_List, Recursion, Big_O_Time_O(n)_Space_O(k) 189 67.03
0146 LRU Cache Medium Top_100_Liked_Questions, Top_Interview_Questions, Hash_Table, Design, Linked_List, Doubly_Linked_List, Big_O_Time_O(1)_Space_O(capacity) 1116 97.93
0707 Design Linked List Medium Design, Linked_List 243 100.00

Udemy Tree Stack Queue

0144 二叉树的前序遍历 Easy Depth_First_Search, Tree, Binary_Tree, Stack 277 37.90
0094 二叉树的中序遍历 Easy Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Tree, Binary_Tree, Stack, Big_O_Time_O(n)_Space_O(n) 152 66.67
0145 二叉树的后序遍历 Easy Depth_First_Search, Tree, Binary_Tree, Stack 211 80.00
0102 二叉树的层序遍历 Medium Top_100_Liked_Questions, Top_Interview_Questions, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(N)_Space_O(N) 198 95.14
0103 二叉树的锯齿形层序遍历 Medium Top_Interview_Questions, Breadth_First_Search, Tree, Binary_Tree 176 71.62
0108 将有序数组转换为二叉搜索树 Easy Top_Interview_Questions, Array, Tree, Binary_Tree, Binary_Search_Tree, Divide_and_Conquer 167 80.29
1008 前序遍历构造二叉搜索树 Medium Array, Tree, Binary_Tree, Stack, Monotonic_Stack, Binary_Search_Tree 145 100.00
0543 二叉树的直径 Easy Top_100_Liked_Questions, Depth_First_Search, Tree, Binary_Tree, Big_O_Time_O(n)_Space_O(n) 307 43.93
0938 二叉搜索树的范围和 Easy Depth_First_Search, Tree, Binary_Tree, Binary_Search_Tree 356 55.36
0100 相同的树 Easy Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree 134 86.63
0226 翻转二叉树 Easy Top_100_Liked_Questions, Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(n)_Space_O(n) 233 54.90
0111 二叉树的最小深度 Easy Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree 525 90.51
0104 二叉树的最大深度 Easy Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(N)_Space_O(H) 166 83.53
0110 平衡二叉树 Easy Depth_First_Search, Tree, Binary_Tree 182 71.30
0701 二叉搜索树中的插入操作 Medium Tree, Binary_Tree, Binary_Search_Tree 311 79.03
0297 二叉树的序列化与反序列化 Hard String, Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree, Design 475 78.85
0124 二叉树中的最大路径和 Hard Top_100_Liked_Questions, Top_Interview_Questions, Dynamic_Programming, Depth_First_Search, Tree, Binary_Tree, Big_O_Time_O(N)_Space_O(N) 331 74.42
0098 验证二叉搜索树 Medium Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Tree, Binary_Tree, Binary_Search_Tree, Big_O_Time_O(N)_Space_O(log(N)) 190 61.62
0337 打家劫舍 III Medium Dynamic_Programming, Depth_First_Search, Tree, Binary_Tree 282 84.62
0236 二叉树的最近公共祖先 Medium Top_100_Liked_Questions, Depth_First_Search, Tree, Binary_Tree, Big_O_Time_O(n)_Space_O(n) 386 45.21
0968 监控二叉树 Hard Dynamic_Programming, Depth_First_Search, Tree, Binary_Tree 176 100.00

Udemy Trie and Heap

0208 实现 Trie (前缀树) Medium Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Design, Trie, Big_O_Time_O(word.length())_or_O(prefix.length())_Space_O(N) 689 61.00
0745 前缀和后缀搜索 Hard String, Design, Trie 1638 100.00

Udemy Graph

0200 Number of Islands Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Depth_First_Search, Breadth_First_Search, Matrix, Union_Find, Big_O_Time_O(M*N)_Space_O(M*N) 252 95.41
0133 Clone Graph Medium Hash_Table, Depth_First_Search, Breadth_First_Search, Graph 351 60.91
0417 Pacific Atlantic Water Flow Medium Array, Depth_First_Search, Breadth_First_Search, Matrix 319 100.00

Udemy Dynamic Programming

0120 Triangle Medium Array, Dynamic_Programming 194 97.87
0118 Pascal's Triangle Easy Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming 277 33.22
0119 Pascal's Triangle II Easy Array, Dynamic_Programming 157 97.27
0139 Word Break Medium Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Dynamic_Programming, Trie, Memoization, Big_O_Time_O(M+max*N)_Space_O(M+N+max) 197 87.17
0152 Maximum Product Subarray Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(N)_Space_O(1) 253 88.42
0198 House Robber Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(n)_Space_O(n) 156 92.24
0213 House Robber II Medium Array, Dynamic_Programming 257 59.62
0509 Fibonacci Number Easy Dynamic_Programming, Math, Recursion, Memoization 139 82.72
0070 Climbing Stairs Easy Top_100_Liked_Questions, Top_Interview_Questions, Dynamic_Programming, Math, Memoization, Big_O_Time_O(n)_Space_O(n) 124 71.98
0064 最小路径和 Medium Top_100_Liked_Questions, Array, Dynamic_Programming, Matrix, Big_O_Time_O(m*n)_Space_O(m*n) 164 100.00
0300 最长递增子序列 Medium Top_100_Liked_Questions, Array, Dynamic_Programming, Binary_Search, Big_O_Time_O(n*log_n)_Space_O(n) 318 82.28
1143 最长公共子序列 Medium Top_100_Liked_Questions, String, Dynamic_Programming, Big_O_Time_O(n*m)_Space_O(n*m) 307 38.36
0072 Edit Distance Medium Top_100_Liked_Questions, String, Dynamic_Programming, Big_O_Time_O(n^2)_Space_O(n2) 182 92.16
0044 Wildcard Matching Hard Top_Interview_Questions, String, Dynamic_Programming, Greedy, Recursion 220 84.85
0010 Regular Expression Matching Hard Top_Interview_Questions, String, Dynamic_Programming, Recursion, Big_O_Time_O(m*n)_Space_O(m*n) 171 85.26

Udemy Backtracking/Recursion

0022 括号生成 Medium Top_100_Liked_Questions, Top_Interview_Questions, String, Dynamic_Programming, Backtracking, Big_O_Time_O(2^n)_Space_O(n) 161 85.45
0039 Combination Sum Medium Top_100_Liked_Questions, Array, Backtracking, Big_O_Time_O(2^n)_Space_O(n+2^n) 226 88.89
0216 Combination Sum III Medium Array, Backtracking 175 90.91
0078 Subsets Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Bit_Manipulation, Backtracking, Big_O_Time_O(2^n)_Space_O(n*2^n) 171 94.92
0017 Letter Combinations of a Phone Number Medium Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Backtracking, Big_O_Time_O(4^n)_Space_O(n) 155 95.24
0046 Permutations Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Backtracking, Big_O_Time_O(n*n!)_Space_O(n+n!) 188 99.00

Udemy Bit Manipulation

0191 位1的个数 Easy Top_Interview_Questions, Bit_Manipulation 237 68.44
0389 Find the Difference Easy String, Hash_Table, Sorting, Bit_Manipulation 256 64.81
0190 Reverse Bits Easy Top_Interview_Questions, Bit_Manipulation, Divide_and_Conquer 198 81.82
0461 汉明距离 Easy Bit_Manipulation 150 96.15
1009 Complement of Base 10 Integer Easy Bit_Manipulation 126 72.73
0338 Counting Bits Easy Dynamic_Programming, Bit_Manipulation, Big_O_Time_O(num)_Space_O(num) 186 99.26
0371 Sum of Two Integers Medium Math, Bit_Manipulation 129 95.45
0029 Divide Two Integers Medium Top_Interview_Questions, Math, Bit_Manipulation 144 82.50

Udemy Design

0155 Min Stack Medium Top_100_Liked_Questions, Top_Interview_Questions, Stack, Design, Big_O_Time_O(1)_Space_O(N) 331 84.88

Data Structure I

Day 1 Array

0217 Contains Duplicate Easy Top_Interview_Questions, Array, Hash_Table, Sorting 719 73.49
0053 Maximum Subarray Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Divide_and_Conquer, Big_O_Time_O(n)_Space_O(1) 510 78.81

Day 2 Array

0001 Two Sum Easy Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Big_O_Time_O(n)_Space_O(n) 202 91.18
0088 合并两个有序数组 Easy Top_Interview_Questions, Array, Sorting, Two_Pointers 170 69.74

Day 3 Array

0350 Intersection of Two Arrays II Easy Array, Hash_Table, Sorting, Binary_Search, Two_Pointers 321 73.37
0121 Best Time to Buy and Sell Stock Easy Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(N)_Space_O(1) 609 94.06

Day 4 Array

0566 Reshape the Matrix Easy Array, Matrix, Simulation 239 99.05
0118 Pascal's Triangle Easy Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming 277 33.22

Day 5 Array

0036 Valid Sudoku Medium Top_Interview_Questions, Array, Hash_Table, Matrix 181 95.15
0074 Search a 2D Matrix Medium Top_100_Liked_Questions, Array, Binary_Search, Matrix, Big_O_Time_O(endRow+endCol)_Space_O(1) 159 74.46

Day 6 String

0387 First Unique Character in a String Easy String, Hash_Table, Counting, Queue 369 82.68
0383 Ransom Note Easy String, Hash_Table, Counting 333 79.58
0242 Valid Anagram Easy String, Hash_Table, Sorting 251 87.65

Day 7 Linked List

0141 Linked List Cycle Easy Top_100_Liked_Questions, Top_Interview_Questions, Hash_Table, Two_Pointers, Linked_List, Big_O_Time_O(N)_Space_O(1) 223 91.85
0021 Merge Two Sorted Lists Easy Top_100_Liked_Questions, Top_Interview_Questions, Linked_List, Recursion, Big_O_Time_O(m+n)_Space_O(m+n) 157 92.24
0203 Remove Linked List Elements Easy Linked_List, Recursion 233 91.22

Day 8 Linked List

0206 Reverse Linked List Easy Top_100_Liked_Questions, Top_Interview_Questions, Linked_List, Recursion, Big_O_Time_O(N)_Space_O(1) 279 45.78
0083 删除排序链表中的重复元素 Easy Linked_List 173 82.42

Day 9 Stack Queue

0020 Valid Parentheses Easy Top_100_Liked_Questions, Top_Interview_Questions, String, Stack, Big_O_Time_O(n)_Space_O(n) 137 88.76
0232 Implement Queue using Stacks Easy Stack, Design, Queue 258 70.86

Day 10 Tree

0144 Binary Tree Preorder Traversal Easy Depth_First_Search, Tree, Binary_Tree, Stack 277 37.90
0094 Binary Tree Inorder Traversal Easy Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Tree, Binary_Tree, Stack, Big_O_Time_O(n)_Space_O(n) 152 66.67
0145 Binary Tree Postorder Traversal Easy Depth_First_Search, Tree, Binary_Tree, Stack 211 80.00

Day 11 Tree

0102 Binary Tree Level Order Traversal Medium Top_100_Liked_Questions, Top_Interview_Questions, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(N)_Space_O(N) 198 95.14
0104 Maximum Depth of Binary Tree Easy Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(N)_Space_O(H) 166 83.53
0101 Symmetric Tree Easy Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(N)_Space_O(log(N)) 153 82.35

Day 12 Tree

0226 Invert Binary Tree Easy Top_100_Liked_Questions, Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(n)_Space_O(n) 233 54.90
0112 Path Sum Easy Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree 322 36.41

Day 13 Tree

0700 Search in a Binary Search Tree Easy Tree, Binary_Tree, Binary_Search_Tree 251 88.31
0701 Insert into a Binary Search Tree Medium Tree, Binary_Tree, Binary_Search_Tree 311 79.03

Day 14 Tree

0098 Validate Binary Search Tree Medium Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Tree, Binary_Tree, Binary_Search_Tree, Big_O_Time_O(N)_Space_O(log(N)) 190 61.62
0653 Two Sum IV - Input is a BST Easy Hash_Table, Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree, Two_Pointers, Binary_Search_Tree 231 96.08
0235 Lowest Common Ancestor of a Binary Search Tree Medium Depth_First_Search, Tree, Binary_Tree, Binary_Search_Tree 404 75.59

Data Structure II

Day 1 Array

0136 Single Number Easy Top_100_Liked_Questions, Top_Interview_Questions, Array, Bit_Manipulation, Big_O_Time_O(N)_Space_O(1) 344 83.63
0169 Majority Element Easy Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Sorting, Counting, Divide_and_Conquer, Big_O_Time_O(n)_Space_O(1) 460 51.25
0015 3Sum Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Two_Pointers, Big_O_Time_O(n*log(n))_Space_O(n^2) 493 93.45

Day 2 Array

0075 Sort Colors Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Two_Pointers, Big_O_Time_O(n)_Space_O(1) 164 64.43
0056 Merge Intervals Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Big_O_Time_O(n_log_n)_Space_O(n) 334 80.67
0706 Design HashMap Easy Array, Hash_Table, Design, Linked_List, Hash_Function 405 92.11

Day 3 Array

0119 Pascal's Triangle II Easy Array, Dynamic_Programming 157 97.27
0048 Rotate Image Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Math, Matrix, Big_O_Time_O(n^2)_Space_O(1) 160 90.11
0059 Spiral Matrix II Medium Array, Matrix, Simulation 153 41.70

Day 4 Array

0240 Search a 2D Matrix II Medium Top_100_Liked_Questions, Array, Binary_Search, Matrix, Divide_and_Conquer, Big_O_Time_O(n+m)_Space_O(1) 460 66.08
0435 Non-overlapping Intervals Medium Array, Dynamic_Programming, Sorting, Greedy 1040 85.07

Day 5 Array

0334 Increasing Triplet Subsequence Medium Array, Greedy 672 60.61
0238 Product of Array Except Self Medium Top_100_Liked_Questions, Array, Prefix_Sum, Big_O_Time_O(n^2)_Space_O(n) 669 48.96
0560 和为 K 的子数组 Medium Top_100_Liked_Questions, Array, Hash_Table, Prefix_Sum, Big_O_Time_O(n)_Space_O(n) 692 53.27

Day 6 String

0415 Add Strings Easy String, Math, Simulation 296 76.00
0409 Longest Palindrome Easy String, Hash_Table, Greedy 259 60.71

Day 7 String

0290 Word Pattern Easy String, Hash_Table 177 89.55
0763 Partition Labels Medium String, Hash_Table, Greedy, Two_Pointers, Big_O_Time_O(n)_Space_O(1) 235 84.75

Day 8 String

0049 Group Anagrams Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, String, Hash_Table, Sorting, Big_O_Time_O(n*k_log_k)_Space_O(n) 308 96.34
0043 Multiply Strings Medium String, Math, Simulation 165 96.72

Day 9 String

0187 Repeated DNA Sequences Medium String, Hash_Table, Bit_Manipulation, Sliding_Window, Hash_Function, Rolling_Hash 319 79.03
0005 Longest Palindromic Substring Medium Top_100_Liked_Questions, Top_Interview_Questions, String, Dynamic_Programming, Big_O_Time_O(n)_Space_O(n) 162 99.00

Day 10 Linked List

0002 Add Two Numbers Medium Top_100_Liked_Questions, Top_Interview_Questions, Math, Linked_List, Recursion, Big_O_Time_O(max(N,M))_Space_O(max(N,M)) 203 96.13
0142 环形链表 II Medium Top_100_Liked_Questions, Hash_Table, Two_Pointers, Linked_List, Big_O_Time_O(N)_Space_O(1) 192 63.39

Day 11 Linked List

0160 Intersection of Two Linked Lists Easy Top_100_Liked_Questions, Top_Interview_Questions, Hash_Table, Two_Pointers, Linked_List, Big_O_Time_O(M+N)_Space_O(1) 262 83.50
0082 删除排序链表中的重复元素 II Medium Two_Pointers, Linked_List 166 89.47

Day 12 Linked List

0024 两两交换链表中的节点 Medium Top_100_Liked_Questions, Linked_List, Recursion, Big_O_Time_O(n)_Space_O(1) 149 44.20
0707 Design Linked List Medium Design, Linked_List 243 100.00

Day 13 Linked List

0025 Reverse Nodes in k-Group Hard Top_100_Liked_Questions, Linked_List, Recursion, Big_O_Time_O(n)_Space_O(k) 189 67.03
0143 Reorder List Medium Two_Pointers, Stack, Linked_List, Recursion 395 82.26

Day 14 Stack Queue

0155 Min Stack Medium Top_100_Liked_Questions, Top_Interview_Questions, Stack, Design, Big_O_Time_O(1)_Space_O(N) 331 84.88
1249 Minimum Remove to Make Valid Parentheses Medium String, Stack 218 100.00
1823 Find the Winner of the Circular Game Medium Array, Math, Simulation, Recursion, Queue 119 87.50

Day 15 Tree

0108 Convert Sorted Array to Binary Search Tree Easy Top_Interview_Questions, Array, Tree, Binary_Tree, Binary_Search_Tree, Divide_and_Conquer 167 80.29
0105 Construct Binary Tree from Preorder and Inorder Traversal Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Tree, Binary_Tree, Divide_and_Conquer, Big_O_Time_O(N)_Space_O(N) 183 95.45
0103 Binary Tree Zigzag Level Order Traversal Medium Top_Interview_Questions, Breadth_First_Search, Tree, Binary_Tree 176 71.62

Day 16 Tree

0199 Binary Tree Right Side View Medium Top_100_Liked_Questions, Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree 194 92.89
0113 Path Sum II Medium Depth_First_Search, Tree, Binary_Tree, Backtracking 364 78.67
0450 Delete Node in a BST Medium Tree, Binary_Tree, Binary_Search_Tree 257 84.62

Day 17 Tree

0230 Kth Smallest Element in a BST Medium Top_100_Liked_Questions, Depth_First_Search, Tree, Binary_Tree, Binary_Search_Tree, Big_O_Time_O(n)_Space_O(n) 393 33.33
0173 Binary Search Tree Iterator Medium Tree, Binary_Tree, Stack, Design, Binary_Search_Tree, Iterator 563 46.91

Day 18 Tree

0236 二叉树的最近公共祖先 Medium Top_100_Liked_Questions, Depth_First_Search, Tree, Binary_Tree, Big_O_Time_O(n)_Space_O(n) 386 45.21
0297 Serialize and Deserialize Binary Tree Hard String, Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree, Design 475 78.85

Day 19 Graph

0997 Find the Town Judge Easy Array, Hash_Table, Graph 475 58.62
1557 Minimum Number of Vertices to Reach All Nodes Medium Graph 792 99.29
0841 Keys and Rooms Medium Depth_First_Search, Breadth_First_Search, Graph 189 69.23

Day 20 Heap Priority Queue

0215 Kth Largest Element in an Array Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Heap_Priority_Queue, Divide_and_Conquer, Quickselect, Big_O_Time_O(n*log(n))_Space_O(log(n)) 839 34.43
0347 Top K Frequent Elements Medium Top_100_Liked_Questions, Array, Hash_Table, Sorting, Heap_Priority_Queue, Counting, Divide_and_Conquer, Quickselect, Bucket_Sort, Big_O_Time_O(n*log(n))_Space_O(k) 268 99.74

Day 21 Heap Priority Queue

0451 Sort Characters By Frequency Medium String, Hash_Table, Sorting, Heap_Priority_Queue, Counting, Bucket_Sort 288 81.72
0973 K Closest Points to Origin Medium Array, Math, Sorting, Heap_Priority_Queue, Divide_and_Conquer, Geometry, Quickselect 800 37.89

Algorithm I

Day 1 Binary Search

0704 Binary Search Easy Top_100_Liked_Questions, Array, Binary_Search 261 77.91
0278 First Bad Version Easy Binary_Search, Interactive 349 76.86
0035 Search Insert Position Easy Top_100_Liked_Questions, Array, Binary_Search, Big_O_Time_O(log_n)_Space_O(1) 159 93.03

Day 2 Two Pointers

0977 Squares of a Sorted Array Easy Array, Sorting, Two_Pointers 271 77.17
0189 轮转数组/旋转数组 Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Math, Two_Pointers, Big_O_Time_O(n)_Space_O(1) 483 86.95

Day 3 Two Pointers

0283 Move Zeroes Easy Top_100_Liked_Questions, Array, Two_Pointers, Big_O_Time_O(n)_Space_O(1) 516 79.07
0167 Two Sum II - Input Array Is Sorted Medium Array, Binary_Search, Two_Pointers 403 68.74

Day 4 Two Pointers

0344 Reverse String Easy String, Two_Pointers, Recursion 445 69.75
0557 Reverse Words in a String III Easy String, Two_Pointers 215 98.10

Day 5 Two Pointers

0876 Middle of the Linked List Easy Two_Pointers, Linked_List 136 76.52
0019 删除链表的倒数第 N 个结点 Medium Top_100_Liked_Questions, Top_Interview_Questions, Two_Pointers, Linked_List, Big_O_Time_O(L)_Space_O(L) 144 96.28

Day 6 Sliding Window

0003 Longest Substring Without Repeating Characters Medium Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Sliding_Window, Big_O_Time_O(n)_Space_O(1) 201 87.28
0567 Permutation in String Medium Top_100_Liked_Questions, String, Hash_Table, Two_Pointers, Sliding_Window 169 100.00

Day 7 Breadth First Search Depth First Search

0733 Flood Fill Easy Array, Depth_First_Search, Breadth_First_Search, Matrix 230 97.76
0695 Max Area of Island Medium Array, Depth_First_Search, Breadth_First_Search, Matrix, Union_Find 181 93.83

Day 8 Breadth First Search Depth First Search

0617 合并二叉树 Easy Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree 243 72.83
0116 填充每个节点的下一个右侧节点指针 Medium Top_Interview_Questions, Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree, Linked_List 355 69.02

Day 9 Breadth First Search Depth First Search

0542 01 Matrix Medium Array, Dynamic_Programming, Breadth_First_Search, Matrix 441 94.06
0994 Rotting Oranges Medium Top_100_Liked_Questions, Array, Breadth_First_Search, Matrix 164 82.95

Day 10 Recursion Backtracking

0021 Merge Two Sorted Lists Easy Top_100_Liked_Questions, Top_Interview_Questions, Linked_List, Recursion, Big_O_Time_O(m+n)_Space_O(m+n) 157 92.24
0206 Reverse Linked List Easy Top_100_Liked_Questions, Top_Interview_Questions, Linked_List, Recursion, Big_O_Time_O(N)_Space_O(1) 279 45.78

Day 11 Recursion Backtracking

0077 Combinations Medium Backtracking 232 100.00
0046 Permutations Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Backtracking, Big_O_Time_O(n*n!)_Space_O(n+n!) 188 99.00
0784 Letter Case Permutation Medium String, Bit_Manipulation, Backtracking 219 84.62

Day 12 Dynamic Programming

0070 Climbing Stairs Easy Top_100_Liked_Questions, Top_Interview_Questions, Dynamic_Programming, Math, Memoization, Big_O_Time_O(n)_Space_O(n) 124 71.98
0198 打家劫舍 Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(n)_Space_O(n) 156 92.24
0120 Triangle Medium Array, Dynamic_Programming 194 97.87

Day 13 Bit Manipulation

0231 Power of Two Easy Math, Bit_Manipulation, Recursion 161 86.81
0191 Number of 1 Bits Easy Top_Interview_Questions, Bit_Manipulation 237 68.44

Day 14 Bit Manipulation

0190 Reverse Bits Easy Top_Interview_Questions, Bit_Manipulation, Divide_and_Conquer 198 81.82
0136 Single Number Easy Top_100_Liked_Questions, Top_Interview_Questions, Array, Bit_Manipulation, Big_O_Time_O(N)_Space_O(1) 344 83.63

Algorithm II

Day 1 Binary Search

0034 Find First and Last Position of Element in Sorted Array Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Big_O_Time_O(log_n)_Space_O(1) 174 100.00
0033 Search in Rotated Sorted Array Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Big_O_Time_O(log_n)_Space_O(1) 151 93.77
0074 Search a 2D Matrix Medium Top_100_Liked_Questions, Array, Binary_Search, Matrix, Big_O_Time_O(endRow+endCol)_Space_O(1) 159 74.46

Day 2 Binary Search

0153 Find Minimum in Rotated Sorted Array Medium Top_100_Liked_Questions, Array, Binary_Search, Big_O_Time_O(log_N)_Space_O(log_N) 262 60.96
0162 Find Peak Element Medium Top_Interview_Questions, Array, Binary_Search 297 53.85

Day 3 Two Pointers

0082 删除排序链表中的重复元素 II Medium Two_Pointers, Linked_List 166 89.47
0015 3Sum Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Two_Pointers, Big_O_Time_O(n*log(n))_Space_O(n^2) 493 93.45

Day 4 Two Pointers

0844 Backspace String Compare Easy String, Two_Pointers, Stack, Simulation 126 98.31
0986 Interval List Intersections Medium Array, Two_Pointers 318 60.98
0011 Container With Most Water Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Greedy, Two_Pointers, Big_O_Time_O(n)_Space_O(1) 402 78.57

Day 5 Sliding Window

0438 Find All Anagrams in a String Medium Top_100_Liked_Questions, String, Hash_Table, Sliding_Window, Big_O_Time_O(n+m)_Space_O(1) 561 54.68
0713 Subarray Product Less Than K Medium Array, Sliding_Window 336 92.11
0209 Minimum Size Subarray Sum Medium Array, Binary_Search, Prefix_Sum, Sliding_Window 315 96.73

Day 6 Breadth First Search Depth First Search

0200 Number of Islands Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Depth_First_Search, Breadth_First_Search, Matrix, Union_Find, Big_O_Time_O(M*N)_Space_O(M*N) 252 95.41
0547 Number of Provinces Medium Depth_First_Search, Breadth_First_Search, Graph, Union_Find 229 79.73

Day 7 Breadth First Search Depth First Search

0117 Populating Next Right Pointers in Each Node II Medium Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree, Linked_List 199 94.67
0572 Subtree of Another Tree Easy Depth_First_Search, Tree, Binary_Tree, Hash_Function, String_Matching 214 92.39

Day 8 Breadth First Search Depth First Search

1091 Shortest Path in Binary Matrix Medium Array, Breadth_First_Search, Matrix 305 98.28
0130 Surrounded Regions Medium Top_Interview_Questions, Array, Depth_First_Search, Breadth_First_Search, Matrix, Union_Find 355 84.42
0797 All Paths From Source to Target Medium Depth_First_Search, Breadth_First_Search, Graph, Backtracking 232 100.00

Day 9 Recursion Backtracking

0078 Subsets Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Bit_Manipulation, Backtracking, Big_O_Time_O(2^n)_Space_O(n*2^n) 171 94.92
0090 Subsets II Medium Array, Bit_Manipulation, Backtracking 200 88.33

Day 10 Recursion Backtracking

0047 Permutations II Medium Array, Backtracking 199 100.00
0039 Combination Sum Medium Top_100_Liked_Questions, Array, Backtracking, Big_O_Time_O(2^n)_Space_O(n+2^n) 226 88.89
0040 Combination Sum II Medium Array, Backtracking 217 93.75

Day 11 Recursion Backtracking

0017 Letter Combinations of a Phone Number Medium Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Backtracking, Big_O_Time_O(4^n)_Space_O(n) 155 95.24
0022 Generate Parentheses Medium Top_100_Liked_Questions, Top_Interview_Questions, String, Dynamic_Programming, Backtracking, Big_O_Time_O(2^n)_Space_O(n) 161 85.45
0079 Word Search Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Matrix, Backtracking, Big_O_Time_O(4^(m*n))_Space_O(m*n) 392 72.92

Day 12 Dynamic Programming

0213 打家劫舍 II Medium Array, Dynamic_Programming 257 59.62
0055 跳跃游戏 Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Greedy, Big_O_Time_O(n)_Space_O(1) 332 89.35

Day 13 Dynamic Programming

0045 跳跃游戏 II Medium Top_100_Liked_Questions, Array, Dynamic_Programming, Greedy, Big_O_Time_O(n)_Space_O(1) 208 93.37
0062 不同路径 Medium Top_100_Liked_Questions, Top_Interview_Questions, Dynamic_Programming, Math, Combinatorics, Big_O_Time_O(m*n)_Space_O(m*n) 118 94.65

Day 14 Dynamic Programming

0005 最长回文子串 Medium Top_100_Liked_Questions, Top_Interview_Questions, String, Dynamic_Programming, Big_O_Time_O(n)_Space_O(n) 162 99.00
0413 Arithmetic Slices Medium Array, Dynamic_Programming 156 100.00

Day 15 Dynamic Programming

0091 Decode Ways Medium Top_Interview_Questions, String, Dynamic_Programming 148 79.07
0139 Word Break Medium Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Dynamic_Programming, Trie, Memoization, Big_O_Time_O(M+max*N)_Space_O(M+N+max) 197 87.17

Day 16 Dynamic Programming

0300 最长递增子序列 Medium Top_100_Liked_Questions, Array, Dynamic_Programming, Binary_Search, Big_O_Time_O(n*log_n)_Space_O(n) 318 82.28
0673 最长递增子序列的个数 Medium Array, Dynamic_Programming, Segment_Tree, Binary_Indexed_Tree 226 91.67

Day 17 Dynamic Programming

1143 最长公共子序列 Medium Top_100_Liked_Questions, String, Dynamic_Programming, Big_O_Time_O(n*m)_Space_O(n*m) 307 38.36
0583 两个字符串的删除操作 Medium String, Dynamic_Programming 197 100.00

Day 18 Dynamic Programming

0072 编辑距离 Medium Top_100_Liked_Questions, String, Dynamic_Programming, Big_O_Time_O(n^2)_Space_O(n2) 182 92.16
0322 零钱兑换 Medium Top_100_Liked_Questions, Array, Dynamic_Programming, Breadth_First_Search, Big_O_Time_O(m*n)_Space_O(amount) 332 50.68
0343 整数拆分 Medium Dynamic_Programming, Math 218 63.89

Day 19 Bit Manipulation

0201 数字范围按位与 Medium Bit_Manipulation 368 80.00

Day 20 Others

0384 打乱数组 Medium Array, Math, Randomized 940 72.09

Day 21 Others

0202 快乐数 Easy Top_Interview_Questions, Hash_Table, Math, Two_Pointers 261 45.08
0149 直线上最多的点数 Hard Top_Interview_Questions, Array, Hash_Table, Math, Geometry 307 83.33

Binary Search I

Day 1

0704 二分查找 Easy Top_100_Liked_Questions, Array, Binary_Search 261 77.91
0374 猜数字大小 Easy Binary_Search, Interactive 134 94.19

Day 2

0035 搜索插入位置 Easy Top_100_Liked_Questions, Array, Binary_Search, Big_O_Time_O(log_n)_Space_O(1) 159 93.03
0852 山脉数组的峰顶索引 Medium Array, Binary_Search 433 94.29

Day 3

0367 有效的完全平方数 Easy Math, Binary_Search 137 94.55
1385 两个数组间的距离值 Easy Array, Sorting, Binary_Search, Two_Pointers 190 84.62

Day 4

0069 x 的平方根 Easy Top_Interview_Questions, Math, Binary_Search 140 94.72
0744 寻找比目标字母大的最小字母 Easy Array, Binary_Search 162 100.00

Day 5

0278 第一个错误的版本 Easy Binary_Search, Interactive 349 76.86
0034 在排序数组中查找元素的第一个和最后一个位置 Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Big_O_Time_O(log_n)_Space_O(1) 174 100.00

Day 6

0441 排列硬币 Easy Math, Binary_Search 150 84.21
1539 第 k 个缺失的正整数 Easy Array, Binary_Search 153 100.00

Day 7

0167 两数之和 II - 输入有序数组 Medium Array, Binary_Search, Two_Pointers 403 68.74
1608 特殊数组的特征值 Easy Array, Sorting, Binary_Search 147 81.82

Day 8

1351 Count Negative Numbers in a Sorted Matrix Easy Array, Binary_Search, Matrix 206 71.43
0074 Search a 2D Matrix Medium Top_100_Liked_Questions, Array, Binary_Search, Matrix, Big_O_Time_O(endRow+endCol)_Space_O(1) 159 74.46

Day 9

1337 The K Weakest Rows in a Matrix Easy Array, Sorting, Binary_Search, Matrix, Heap_Priority_Queue 216 77.59
1346 Check If N and Its Double Exist Easy Array, Hash_Table, Sorting, Binary_Search, Two_Pointers 175 70.83

Day 10

0350 Intersection of Two Arrays II Easy Array, Hash_Table, Sorting, Binary_Search, Two_Pointers 321 73.37
0633 Sum of Square Numbers Medium Math, Binary_Search, Two_Pointers 126 100.00

Day 11

1855 Maximum Distance Between a Pair of Values Medium Array, Greedy, Binary_Search, Two_Pointers 458 100.00
0033 搜索旋转排序数组 Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Big_O_Time_O(log_n)_Space_O(1) 151 93.77

Day 12

0153 寻找旋转排序数组中的最小值 Medium Top_100_Liked_Questions, Array, Binary_Search, Big_O_Time_O(log_N)_Space_O(log_N) 262 60.96

Binary Search II

Day 1

0209 长度最小的子数组 Medium Array, Binary_Search, Prefix_Sum, Sliding_Window 315 96.73
0611 有效三角形的个数 Medium Array, Sorting, Greedy, Binary_Search, Two_Pointers 203 100.00

Day 2

0658 找到 K 个最接近的元素 Medium Array, Sorting, Binary_Search, Two_Pointers, Heap_Priority_Queue 375 95.16
1894 Find the Student that Will Replace the Chalk Medium Array, Binary_Search, Simulation, Prefix_Sum 520 50.00

Day 3

0300 最长递增子序列 Medium Top_100_Liked_Questions, Array, Dynamic_Programming, Binary_Search, Big_O_Time_O(n*log_n)_Space_O(n) 318 82.28
1760 Minimum Limit of Balls in a Bag Medium Array, Binary_Search 460 100.00

Day 4

0875 Koko Eating Bananas Medium Array, Binary_Search 267 93.85
1552 Magnetic Force Between Two Balls Medium Array, Sorting, Binary_Search 636 100.00

Day 5

0287 Find the Duplicate Number Medium Top_100_Liked_Questions, Array, Binary_Search, Two_Pointers, Bit_Manipulation, Big_O_Time_O(n)_Space_O(n) 656 66.21
1283 Find the Smallest Divisor Given a Threshold Medium Array, Binary_Search 255 100.00

Day 6

1898 Maximum Number of Removable Characters Medium Array, String, Binary_Search 636 100.00
1870 Minimum Speed to Arrive on Time Medium Array, Binary_Search 628 50.00

Day 7

1482 Minimum Number of Days to Make m Bouquets Medium Array, Binary_Search 538 50.00
1818 Minimum Absolute Sum Difference Medium Array, Sorting, Binary_Search, Ordered_Set 447 100.00

Day 8

0240 Search a 2D Matrix II Medium Top_100_Liked_Questions, Array, Binary_Search, Matrix, Divide_and_Conquer, Big_O_Time_O(n+m)_Space_O(1) 460 66.08
0275 H-Index II Medium Array, Binary_Search 398 81.82

Day 9

1838 Frequency of the Most Frequent Element Medium Array, Sorting, Greedy, Binary_Search, Prefix_Sum, Sliding_Window 564 88.89
0540 Single Element in a Sorted Array Medium Array, Binary_Search 274 86.67

Day 10

0222 Count Complete Tree Nodes
1712 Ways to Split Array Into Three Subarrays Medium Array, Binary_Search, Two_Pointers, Prefix_Sum 486 100.00

Day 11

0826 Most Profit Assigning Work Medium Array, Sorting, Greedy, Binary_Search, Two_Pointers 366 100.00
0436 Find Right Interval Medium Array, Sorting, Binary_Search 333 100.00

Day 12

0081 Search in Rotated Sorted Array II Medium Array, Binary_Search 170 96.30
0162 Find Peak Element Medium Top_Interview_Questions, Array, Binary_Search 297 53.85

Day 13

0154 Find Minimum in Rotated Sorted Array II Hard Array, Binary_Search 275 84.00
0528 Random Pick with Weight Medium Math, Binary_Search, Prefix_Sum, Randomized 393 91.38

Day 14

1508 Range Sum of Sorted Subarray Sums Medium Array, Sorting, Binary_Search, Two_Pointers 378 66.67
1574 Shortest Subarray to be Removed to Make Array Sorted Medium Array, Binary_Search, Two_Pointers, Stack, Monotonic_Stack 477 50.00

Day 15

1292 Maximum Side Length of a Square with Sum Less than or Equal to Threshold Medium Array, Binary_Search, Matrix, Prefix_Sum 376 100.00
1498 Number of Subsequences That Satisfy the Given Sum Condition Medium Array, Sorting, Binary_Search, Two_Pointers 487 97.89

Day 16

0981 Time Based Key-Value Store Medium String, Hash_Table, Binary_Search, Design 1011 65.56
1300 Sum of Mutated Array Closest to Target Medium Array, Sorting, Binary_Search 217 100.00

Day 17

1802 Maximum Value at a Given Index in a Bounded Array Medium Greedy, Binary_Search 118 100.00
1901 Find a Peak Element II Medium Array, Binary_Search, Matrix, Divide_and_Conquer 726 100.00

Day 18

1146 Snapshot Array Medium Array, Hash_Table, Binary_Search, Design 1064 57.14
1488 Avoid Flood in The City Medium Array, Hash_Table, Greedy, Binary_Search, Heap_Priority_Queue 823 66.67

Day 19

1562 Find Latest Group of Size M Medium Array, Binary_Search, Simulation 534 100.00
1648 Sell Diminishing-Valued Colored Balls Medium Array, Math, Sorting, Greedy, Binary_Search, Heap_Priority_Queue 509 100.00

Day 20

1201 Ugly Number III Medium Math, Binary_Search, Number_Theory 136 100.00
0911 Online Election Medium Array, Hash_Table, Binary_Search, Design 766 83.33

Dynamic Programming I

Day 1

0509 Fibonacci Number Easy Dynamic_Programming, Math, Recursion, Memoization 139 82.72
1137 N-th Tribonacci Number Easy Dynamic_Programming, Math, Memoization 122 69.35

Day 2

0070 Climbing Stairs Easy Top_100_Liked_Questions, Top_Interview_Questions, Dynamic_Programming, Math, Memoization, Big_O_Time_O(n)_Space_O(n) 124 71.98
0746 Min Cost Climbing Stairs Easy Array, Dynamic_Programming 171 96.76

Day 3

0198 House Robber Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(n)_Space_O(n) 156 92.24
0213 House Robber II Medium Array, Dynamic_Programming 257 59.62
0740 Delete and Earn Medium Array, Hash_Table, Dynamic_Programming 192 100.00

Day 4

0055 Jump Game Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Greedy, Big_O_Time_O(n)_Space_O(1) 332 89.35
0045 Jump Game II Medium Top_100_Liked_Questions, Array, Dynamic_Programming, Greedy, Big_O_Time_O(n)_Space_O(1) 208 93.37

Day 5

0053 Maximum Subarray Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Divide_and_Conquer, Big_O_Time_O(n)_Space_O(1) 510 78.81
0918 Maximum Sum Circular Subarray Medium Array, Dynamic_Programming, Divide_and_Conquer, Queue, Monotonic_Queue 339 86.96

Day 6

0152 Maximum Product Subarray Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(N)_Space_O(1) 253 88.42
1567 Maximum Length of Subarray With Positive Product Medium Array, Dynamic_Programming, Greedy 468 33.33

Day 7

1014 Best Sightseeing Pair Medium Array, Dynamic_Programming 336 66.67
0121 Best Time to Buy and Sell Stock Easy Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Big_O_Time_O(N)_Space_O(1) 609 94.06
0122 Best Time to Buy and Sell Stock II Medium Top_Interview_Questions, Array, Dynamic_Programming, Greedy 197 95.10

Day 8

0309 买卖股票的最佳时机含冷冻期 Medium Array, Dynamic_Programming 272 73.33
0714 买卖股票的最佳时机含手续费 Medium Array, Dynamic_Programming, Greedy 417 90.91

Day 9

0139 Word Break Medium Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Dynamic_Programming, Trie, Memoization, Big_O_Time_O(M+max*N)_Space_O(M+N+max) 197 87.17
0042 接雨水 Hard Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Two_Pointers, Stack, Monotonic_Stack, Big_O_Time_O(n)_Space_O(1) 189 99.37

Day 10

0413 Arithmetic Slices Medium Array, Dynamic_Programming 156 100.00
0091 Decode Ways Medium Top_Interview_Questions, String, Dynamic_Programming 148 79.07

Day 11

0264 Ugly Number II Medium Hash_Table, Dynamic_Programming, Math, Heap_Priority_Queue 182 95.45
0096 Unique Binary Search Trees Medium Dynamic_Programming, Math, Tree, Binary_Tree, Binary_Search_Tree, Big_O_Time_O(n)_Space_O(1) 116 92.31

Day 12

0118 Pascal's Triangle Easy Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming 277 33.22
0119 Pascal's Triangle II Easy Array, Dynamic_Programming 157 97.27

Day 13

0931 Minimum Falling Path Sum Medium Array, Dynamic_Programming, Matrix 201 84.21
0120 Triangle Medium Array, Dynamic_Programming 194 97.87

Day 14

1314 Matrix Block Sum Medium Array, Matrix, Prefix_Sum 235 100.00
0304 Range Sum Query 2D - Immutable Medium Array, Matrix, Design, Prefix_Sum 1373 85.71

Day 15

0062 Unique Paths Medium Top_100_Liked_Questions, Top_Interview_Questions, Dynamic_Programming, Math, Combinatorics, Big_O_Time_O(m*n)_Space_O(m*n) 118 94.65
0063 不同路径 II Medium Array, Dynamic_Programming, Matrix 151 81.94

Day 16

0064 最小路径和 Medium Top_100_Liked_Questions, Array, Dynamic_Programming, Matrix, Big_O_Time_O(m*n)_Space_O(m*n) 164 100.00
0221 Maximal Square Medium Array, Dynamic_Programming, Matrix, Big_O_Time_O(m*n)_Space_O(m*n) 614 44.00

Day 17

0005 Longest Palindromic Substring Medium Top_100_Liked_Questions, Top_Interview_Questions, String, Dynamic_Programming, Big_O_Time_O(n)_Space_O(n) 162 99.00
0516 Longest Palindromic Subsequence Medium String, Dynamic_Programming 243 87.50

Day 18

0300 Longest Increasing Subsequence Medium Top_100_Liked_Questions, Array, Dynamic_Programming, Binary_Search, Big_O_Time_O(n*log_n)_Space_O(n) 318 82.28
0376 Wiggle Subsequence Medium Array, Dynamic_Programming, Greedy 162 88.89

Day 19

0392 Is Subsequence Easy String, Dynamic_Programming, Two_Pointers 156 87.74
1143 Longest Common Subsequence Medium Top_100_Liked_Questions, String, Dynamic_Programming, Big_O_Time_O(n*m)_Space_O(n*m) 307 38.36
0072 Edit Distance Medium Top_100_Liked_Questions, String, Dynamic_Programming, Big_O_Time_O(n^2)_Space_O(n2) 182 92.16

Day 20

0322 Coin Change Medium Top_100_Liked_Questions, Array, Dynamic_Programming, Breadth_First_Search, Big_O_Time_O(m*n)_Space_O(amount) 332 50.68
0518 Coin Change II Medium Array, Dynamic_Programming 139 100.00

Day 21

0377 组合总和 Ⅳ Medium Array, Dynamic_Programming 217 72.41
0343 Integer Break Medium Dynamic_Programming, Math 218 63.89
0279 Perfect Squares Medium Dynamic_Programming, Math, Breadth_First_Search 176 98.80

Programming Skills I

Day 1 Basic Data Type

1523 Count Odd Numbers in an Interval Range Easy Math 114 97.22
1491 Average Salary Excluding the Minimum and Maximum Salary Easy Array, Sorting 137 91.67

Day 2 Operator

0191 Number of 1 Bits Easy Top_Interview_Questions, Bit_Manipulation 237 68.44
1281 Subtract the Product and Sum of Digits of an Integer Easy Math 128 61.82

Day 3 Conditional Statements

0976 Largest Perimeter Triangle Easy Array, Math, Sorting, Greedy 304 33.33
1779 Find Nearest Point That Has the Same X or Y Coordinate Easy Array 364 100.00

Day 4 Loop

1822 Sign of the Product of an Array Easy Array, Math 170 92.51
1502 Can Make Arithmetic Progression From Sequence Easy Array, Sorting 156 94.82
0202 Happy Number Easy Top_Interview_Questions, Hash_Table, Math, Two_Pointers 261 45.08
1790 Check if One String Swap Can Make Strings Equal Easy String, Hash_Table, Counting 138 100.00

Day 5 Function

0589 N-ary Tree Preorder Traversal Easy Depth_First_Search, Tree, Stack 233 84.02
0496 Next Greater Element I Easy Array, Hash_Table, Stack, Monotonic_Stack 171 100.00
1232 Check If It Is a Straight Line Easy Array, Math, Geometry 152 95.38

Day 6 Array

1588 Sum of All Odd Length Subarrays Easy Array, Math, Prefix_Sum 157 64.00
0283 Move Zeroes Easy Top_100_Liked_Questions, Array, Two_Pointers, Big_O_Time_O(n)_Space_O(1) 516 79.07
1672 Richest Customer Wealth Easy Array, Matrix 155 94.54

Day 7 Array

1572 Matrix Diagonal Sum Easy Array, Matrix 221 67.61
0566 Reshape the Matrix Easy Array, Matrix, Simulation 239 99.05

Day 8 String

1768 Merge Strings Alternately Easy String, Two_Pointers 138 93.81
1678 Goal Parser Interpretation Easy String 136 88.24
0389 Find the Difference Easy String, Hash_Table, Sorting, Bit_Manipulation 256 64.81

Day 9 String

0709 To Lower Case Easy String 142 98.68
1309 Decrypt String from Alphabet to Integer Mapping Easy String 129 95.45
0953 Verifying an Alien Dictionary Easy Array, String, Hash_Table 137 100.00

Day 10 Linked List and Tree

1290 Convert Binary Number in a Linked List to Integer Easy Math, Linked_List 138 65.79
0876 Middle of the Linked List Easy Two_Pointers, Linked_List 136 76.52
0104 Maximum Depth of Binary Tree Easy Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree, Big_O_Time_O(N)_Space_O(H) 166 83.53
0404 Sum of Left Leaves Easy Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree 173 86.05

Day 11 Containers and Libraries

1356 Sort Integers by The Number of 1 Bits Easy Array, Sorting, Bit_Manipulation, Counting 236 92.31
0232 Implement Queue using Stacks Easy Stack, Design, Queue 258 70.86
0242 Valid Anagram Easy String, Hash_Table, Sorting 251 87.65
0217 Contains Duplicate Easy Top_Interview_Questions, Array, Hash_Table, Sorting 719 73.49

Day 12 Class and Object

1603 Design Parking System Easy Design, Simulation, Counting 376 31.83
0303 Range Sum Query - Immutable Easy Array, Design, Prefix_Sum 472 63.64

Programming Skills II

Day 1

0896 Monotonic Array Easy Array 576 90.91
0028 Find the Index of the First Occurrence in a String Easy Top_Interview_Questions, String, Two_Pointers, String_Matching 126 97.58

Day 2

0110 Balanced Binary Tree Easy Depth_First_Search, Tree, Binary_Tree 182 71.30
0459 Repeated Substring Pattern Easy String, String_Matching 201 100.00

Day 3

0150 逆波兰表达式求值 Medium Top_Interview_Questions, Array, Math, Stack 233 88.82
0066 Plus One Easy Top_Interview_Questions, Array, Math 148 98.75

Day 4

1367 Linked List in Binary Tree Medium Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree, Linked_List 237 92.86
0043 Multiply Strings Medium String, Math, Simulation 165 96.72

Day 5

0067 Add Binary Easy String, Math, Bit_Manipulation, Simulation 164 90.60
0989 Add to Array-Form of Integer Easy Array, Math 350 70.00

Day 6

0739 每日温度 Medium Top_100_Liked_Questions, Array, Stack, Monotonic_Stack, Big_O_Time_O(n)_Space_O(n) 936 80.54
0058 最后一个单词的长度 Easy String 135 93.67

Day 7

0048 旋转图像 Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Math, Matrix, Big_O_Time_O(n^2)_Space_O(1) 160 90.11
1886 判断矩阵经轮转后是否一致 Easy Array, Matrix 147 85.71

Day 8

0054 螺旋矩阵 Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Matrix, Simulation 132 95.12
0973 最接近原点的 K 个点 Medium Array, Math, Sorting, Heap_Priority_Queue, Divide_and_Conquer, Geometry, Quickselect 800 37.89

Day 9

1630 等差子数组 Medium Array, Sorting 264 100.00
0429 N-ary Tree Level Order Traversal Medium Breadth_First_Search, Tree 248 75.86

Day 10

0503 Next Greater Element II Medium Array, Stack, Monotonic_Stack 331 92.68
0556 Next Greater Element III Medium String, Math, Two_Pointers 137 80.00

Day 11

1376 Time Needed to Inform All Employees Medium Depth_First_Search, Breadth_First_Search, Tree 915 37.62
0049 Group Anagrams Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, String, Hash_Table, Sorting, Big_O_Time_O(n*k_log_k)_Space_O(n) 308 96.34

Day 12

0438 Find All Anagrams in a String Medium Top_100_Liked_Questions, String, Hash_Table, Sliding_Window, Big_O_Time_O(n+m)_Space_O(1) 561 54.68
0713 Subarray Product Less Than K Medium Array, Sliding_Window 336 92.11

Day 13

0304 Range Sum Query 2D - Immutable Medium Array, Matrix, Design, Prefix_Sum 1373 85.71
0910 Smallest Range II Medium Array, Math, Sorting, Greedy 234 100.00

Day 14

0143 Reorder List Medium Two_Pointers, Stack, Linked_List, Recursion 395 82.26
0138 随机链表的复制 Medium Top_100_Liked_Questions, Top_Interview_Questions, Hash_Table, Linked_List, Big_O_Time_O(N)_Space_O(N) 274 80.58

Day 15

0002 Add Two Numbers Medium Top_100_Liked_Questions, Top_Interview_Questions, Math, Linked_List, Recursion, Big_O_Time_O(max(N,M))_Space_O(max(N,M)) 203 96.13
0445 Add Two Numbers II Medium Math, Stack, Linked_List 240 82.61

Day 16

0061 Rotate List Medium Two_Pointers, Linked_List 160 92.22
0173 Binary Search Tree Iterator Medium Tree, Binary_Tree, Stack, Design, Binary_Search_Tree, Iterator 563 46.91

Day 17

1845 Seat Reservation Manager Medium Design, Heap_Priority_Queue 834 100.00
0860 Lemonade Change Easy Array, Greedy 413 86.96

Day 18

0155 Min Stack Medium Top_100_Liked_Questions, Top_Interview_Questions, Stack, Design, Big_O_Time_O(1)_Space_O(N) 331 84.88
0341 Flatten Nested List Iterator Medium Depth_First_Search, Tree, Stack, Design, Queue, Iterator 210 100.00

Day 19

1797 Design Authentication Manager Medium Hash_Table, Design 334 100.00
0707 Design Linked List Medium Design, Linked_List 243 100.00

Day 20

0380 Insert Delete GetRandom O(1) Medium Array, Hash_Table, Math, Design, Randomized 1326 68.23
0622 Design Circular Queue Medium Array, Design, Linked_List, Queue 234 92.68
0729 My Calendar I Medium Binary_Search, Design, Ordered_Set, Segment_Tree 378 69.70

Graph Theory I

Day 1 Matrix Related Problems

0733 Flood Fill Easy Array, Depth_First_Search, Breadth_First_Search, Matrix 230 97.76
0200 Number of Islands Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Depth_First_Search, Breadth_First_Search, Matrix, Union_Find, Big_O_Time_O(M*N)_Space_O(M*N) 252 95.41

Day 2 Matrix Related Problems

0695 Max Area of Island Medium Array, Depth_First_Search, Breadth_First_Search, Matrix, Union_Find 181 93.83
1254 Number of Closed Islands Medium Array, Depth_First_Search, Breadth_First_Search, Matrix, Union_Find 177 89.47

Day 3 Matrix Related Problems

1020 Number of Enclaves Medium Array, Depth_First_Search, Breadth_First_Search, Matrix, Union_Find 283 90.70
1905 Count Sub Islands Medium Array, Depth_First_Search, Breadth_First_Search, Matrix, Union_Find 866 100.00

Day 4 Matrix Related Problems

1162 As Far from Land as Possible Medium Array, Dynamic_Programming, Breadth_First_Search, Matrix 362 81.25
0417 Pacific Atlantic Water Flow Medium Array, Depth_First_Search, Breadth_First_Search, Matrix 319 100.00

Day 5 Matrix Related Problems

1091 Shortest Path in Binary Matrix Medium Array, Breadth_First_Search, Matrix 305 98.28
0542 01 Matrix Medium Array, Dynamic_Programming, Breadth_First_Search, Matrix 441 94.06

Day 6 Matrix Related Problems

0934 Shortest Bridge Medium Array, Depth_First_Search, Breadth_First_Search, Matrix 301 80.95
1926 Nearest Exit from Entrance in Maze Medium Array, Breadth_First_Search, Matrix 351 94.44

Day 7 Standard Traversal

0797 All Paths From Source to Target Medium Depth_First_Search, Breadth_First_Search, Graph, Backtracking 232 100.00
0841 Keys and Rooms Medium Depth_First_Search, Breadth_First_Search, Graph 189 69.23

Day 8 Standard Traversal

0547 Number of Provinces Medium Depth_First_Search, Breadth_First_Search, Graph, Union_Find 229 79.73
1319 Number of Operations to Make Network Connected Medium Depth_First_Search, Breadth_First_Search, Graph, Union_Find 379 83.33

Day 9 Standard Traversal

1376 Time Needed to Inform All Employees Medium Depth_First_Search, Breadth_First_Search, Tree 915 37.62
0802 Find Eventual Safe States Medium Depth_First_Search, Breadth_First_Search, Graph, Topological_Sort 511 100.00

Day 10 Standard Traversal

1129 Shortest Path with Alternating Colors Medium Breadth_First_Search, Graph 208 80.00
1466 Reorder Routes to Make All Paths Lead to the City Zero Medium Depth_First_Search, Breadth_First_Search, Graph 718 100.00
0847 Shortest Path Visiting All Nodes Hard Dynamic_Programming, Breadth_First_Search, Bit_Manipulation, Graph, Bitmask 164 100.00

Day 11 Breadth First Search

1306 Jump Game III Medium Array, Depth_First_Search, Breadth_First_Search 291 100.00
1654 Minimum Jumps to Reach Home Medium Array, Dynamic_Programming, Breadth_First_Search 192 100.00
0365 Water and Jug Problem Medium Math, Depth_First_Search, Breadth_First_Search 130 100.00

Day 12 Breadth First Search

0433 Minimum Genetic Mutation Medium String, Hash_Table, Breadth_First_Search 204 82.08
0752 Open the Lock Medium Array, String, Hash_Table, Breadth_First_Search 310 100.00
0127 Word Ladder Hard Top_Interview_Questions, String, Hash_Table, Breadth_First_Search 396 98.68

Day 13 Graph Theory

0997 Find the Town Judge Easy Array, Hash_Table, Graph 475 58.62
1557 Minimum Number of Vertices to Reach All Nodes Medium Graph 792 99.29

Day 14 Graph Theory

1615 Maximal Network Rank Medium Graph 282 100.00
0886 Possible Bipartition Medium Depth_First_Search, Breadth_First_Search, Graph, Union_Find 397 100.00
0785 Is Graph Bipartite? Medium Depth_First_Search, Breadth_First_Search, Graph, Union_Find 215 82.35

0092 反转链表 II

fun reverseBetween(head: ListNode?, left: Int, right: Int): ListNode? {
         val xn = ListNode(-1)  // 链表
            xn.next = head

            var leftOld = xn
            for(i in 0 until left-1){
                leftOld = leftOld.next!!
            }

            var rightOld = leftOld
            for(i in 0 until right-left+1){
                rightOld = rightOld.next!!
            }
            
            var leftNew = leftOld.next
            var rightNew = rightOld.next
            
            leftOld.next = null
            rightOld.next = null
            
            reverseLinkedList(leftNew)
            
            leftOld.next = rightOld
            leftNew?.next = rightNew
            

            return xn.next
        }

        fun  reverseLinkedList(head:ListNode?){
            var prev: ListNode? = null
            var current = head
            while (current != null) {
                val next = current.next
                current.next = prev
                prev = current
                current = next
            }
        }

814 二叉树剪枝 关键在根节点的删除,为了使得根结点可以和普通节点一样被删除,这里构造了一个新的根节点,在剪枝完成后在去掉这个新的根节点

/**
 * Example:
 * var ti = TreeNode(5)
 * var v = ti.`val`
 * Definition for a binary tree node.
 * class TreeNode(var `val`: Int) {
 *     var left: TreeNode? = null
 *     var right: TreeNode? = null
 * }
 */
class Solution {
    fun pruneTree(root: TreeNode?): TreeNode? {
        var newRoot = TreeNode(1)
        newRoot.left = root
        explore(newRoot)
        var ans = newRoot.left
        newRoot.left = null
        return ans
    }
    fun explore(root: TreeNode?): TreeNode? {
        return root?.apply{
            explore(left)
            if(need(left)){
                left = null
            }
            explore(right)
            if(need(right)){
                right = null
            }
        }
    }
    fun need(t : TreeNode?):Boolean{
        return t?.run{
            if(`val` == 1){
                false
            }else{
                left == null && right == null
            }
        }?: false
    }
}

897 递增顺序搜索树

/**
 * Example:
 * var ti = TreeNode(5)
 * var v = ti.`val`
 * Definition for a binary tree node.
 * class TreeNode(var `val`: Int) {
 *     var left: TreeNode? = null
 *     var right: TreeNode? = null
 * }
 */
class Solution {
    fun increasingBST(root: TreeNode): TreeNode? {
        val res: ArrayList<Int> = ArrayList()
        // 先对输入的二叉搜索树执行中序遍历,将结果保存到一个列表中;
        inOrder(root, res)

        // 然后对res操作,创建等价的只含有右节点的二叉搜索树,其过程等价于根据节点值创建一个链表。
        val dump = TreeNode(-1)
        var currenNode = dump
        res.forEach {
            currenNode.right = TreeNode(it)
            currenNode = currenNode.right!!
        }
        return dump.right
    }

    /**
     * 中序遍历  对输入的二叉搜索树执行中序遍历,将结果保存到一个列表中
     */
    fun inOrder(node: TreeNode?, res: ArrayList<Int>) {
        if (node == null) return
        inOrder(node.left, res)
        // 将node的值 加入到 res中
        res.add(node.`val`)
        inOrder(node.right, res)
    }
}

0166 分数到小数

fun fractionToDecimal(num: Int, den: Int): String {
//首先将负数全都转化为正数,这里需要用Long类型,不然-2^31直接转化为正数会爆Int
    val minus = 1L*num*den < 0
    val numerator = kotlin.math.abs(1L*num)
    val denominator = kotlin.math.abs(1L*den)
    var rmd = (numerator%denominator)
    val fore = (numerator/denominator).toString()
    if(rmd == 0L) {
        if(minus) {
            return "-$fore"
        }
        return fore
    } else {
        val mp = HashMap<Long, Int>(1000)
        var str = ""
        var ans = ""
        while(rmd != 0L) {
            rmd *= 10
            if(mp.containsKey(rmd)) {
                val loc = mp[rmd]!!
                ans = str.substring(0, loc) + '(' + str.substring(loc) + ')'
                break
            } else {
                mp[rmd] = str.length
                str += (rmd/denominator).toString()
                rmd %= denominator
            }
        }
        val tmp = if(ans == "") ("$fore.$str") else ("$fore.$ans")
        return if(minus) ("-$tmp") else (tmp)
    }
}

0919 二叉搜索树的插入

/**
 * Example:
 * var ti = TreeNode(5)
 * var v = ti.`val`
 * Definition for a binary tree node.
 * class TreeNode(var `val`: Int) {
 *     var left: TreeNode? = null
 *     var right: TreeNode? = null
 * }
 */
class CBTInserter(val root: TreeNode?) {
    val queue = LinkedList<TreeNode>()
    init{
        // println(root)
       queue.offer(root!!) 
       while(!queue.isEmpty()){
           var it = queue.peek()
           if(it.right == null){
              break 
           }
           queue.poll()
           it.apply{
            //    println(`val`)
               left?.let{
                  queue.offer(it) 
               }
               right?.let{
                  queue.offer(it) 
               }
           }
       }
    }
    fun insert(v: Int): Int {
        var p = queue.peek()
        if(p.left == null){
           p.left = TreeNode(v)
        }else{
            p.right = TreeNode(v)
            queue.poll().apply{
                queue.offer(left!!)
                queue.offer(right!!)
            }
        }
        return p.`val`
    }

    fun get_root(): TreeNode? {
        return root
    }

}

/**
 * Your CBTInserter object will be instantiated and called as such:
 * var obj = CBTInserter(root)
 * var param_1 = obj.insert(v)
 * var param_2 = obj.get_root()
 */

814 二叉树剪枝

fun pruneTree(root: TreeNode?): TreeNode? {
        var newRoot = TreeNode(1)
        newRoot.left = root
        explore(newRoot)
        var ans = newRoot.left
        newRoot.left = null
        return ans
    }
    fun explore(root: TreeNode?): TreeNode? {
        return root?.apply{
            explore(left)
            if(need(left)){
                left = null
            }
            explore(right)
            if(need(right)){
                right = null
            }
        }
    }
    fun need(t : TreeNode?):Boolean{
        return t?.run{
            if(`val` == 1){
                false
            }else{
                left == null && right == null
            }
        }?: false
    }

二叉树的层平均值

About

Kotlin-based LeetCode algorithm problem solutions, regularly updated.

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Kotlin 98.8%
  • TypeScript 1.1%
  • Other 0.1%