Skip to content

AlenZhang-Dev/Algorithm-Exploration

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Algorithms Exploration

Algorithms & Data Structure [Java]

# Tree Graph Search Sort
☑️BinarySearchTree ☑️BubbleSort
☑️AVLTree ☑️SelectionSort
❌Red-black Tree ☑️InsertionSort
☑️B-Tree ☑️HeapSort
☑️HashSeperateChaining ☑️ShellSort
☑️HashLinearProbing ☑️MergeSort
☑️QuickSort
☑️ Priority Queue​

Leetcode

Author: Alen Zhang

# Title Solutions Difficulty Tags
1 Two Sum c  p  r Easy
7 Reverse Integer c  p Easy
9 Palindrome Number c  p Easy
11 Container With Most Water c  r Medium
15 3Sum Medium
20 Valid Parentheses c Easy
21 Merge Two Sorted Lists c Easy
23 Merge k Sorted Lists Hard
26 Remove Duplicates from Sorted Array c Easy
27 Remove Element c Easy
28 Implement strStr() c Easy
34 Find First and Last Position of Element in Sorted Array j Medium
35 Search Insert Position c Easy
38 Count and Say c Easy
53 Maximum Subarray c  j  p Easy
58 Length of Last Word c Easy
66 Plus One c  j Easy
67 Add Binary c Easy
69 Sqrt(x) c Easy
70 Climbing Stairs c  j Easy
79 Word Search c  j Medium
83 Remove Duplicates from Sorted List c++  j Easy
88 Merge Sorted Array c Easy
100 Same Tree        Easy Tree
101 Symmetric Tree      Easy
102 Binary Tree Level Order Traversal c++  j Easy
104 Maximum Depth of Binary Tree          Easy Tree
105 Construct Binary Tree from Preorder and Inorder Traversal c++  j Easy
107 Binary Tree Level Order Traversal II c++  j Easy
108 Convert Sorted Array to Binary Search tree Easy Recursion
111 Minimum Depth of Binary Tree          Easy Tree
112 Path Sum          Easy Tree
113 Path Sum II c++  j Medium Tree
116 Populating Next Right Pointers in Each Node    Medium Tree
117 Populating Next Right Pointers in Each Node II    Medium Tree
118 Pascal's Triangle c Easy
119 Pascal's Triangle II c Easy
121 Best Time to Buy and Sell Stock c  j Easy
122 Best Time to Buy and Sell Stock II c  j Easy
125 Valid Palindrome Easy
155 Min Stack Easy
160 Intersection of Two Linked Lists j Easy
167 Two Sum II - Input array is sorted c  j Easy
168 Excel Sheet column Title Easy
169 Majority Element c++ c j Easy
171 Excel Sheet Column Number Easy
172 Factorial Trailing Zeroes Easy
189 Rotate Array j Easy
190 Reverse Bits Easy
191 Number of 1 Bits Easy
198 House Robber c  j Easy
199 Binary Tree Right Side View c++  j Medium
202 Happy Number Easy
203 Remove Linked List Elements Easy
204 Count Primes Easy
205 Isomorphic Strings Easy
206 Reverse Linked List Easy
217 Contains Duplicate j Easy
219 Contains Duplicate II j Easy
225 Implement Stack using Queues Easy
226 Invert Binary Tree c++  j Easy
228 Summary Ranges Easy
231 Power of Two Easy
232 Implement Queue using Stacks Easy
234 Palindrome Linked List Easy
235 Lowest Common Ancestor of a Binary Search Tree Easy
237 Delete Node in a Linked List Easy
242 Valid Anagram Easy
257 Binary Tree Paths Easy
258 Add Digits Easy
263 Ugly Number Easy
264 Ugly Number II j  p Medium
268 Missing Number j Easy
278 First Bad Version Easy
283 Move Zeroes Easy
295 ⭐ ​ Find Median from Data Stream c++  j Hard
297 ⭐ ​ Serialize and Deserialize Binary Tree j Hard
303 Range Sum Query - Immutable c  j Easy
400 Nth Digit j Medium
414 Third Maximum Number j Easy
426 Convert Binary Search Tree to Sorted Doubly Linked List c++  j Medium
429 N-ary Tree Level Order Traversal c++  j Medium
448 Find All Numbers Disappeared In An Array j Easy
485 Max Consecutive Ones c  j Easy
509 Fibonacci Number j Easy
515 Find Largest Value in Each Tree Row c++  j Medium
561 Array Partition I j Easy
566 Reshape the Matrix c  j Easy
581 Shortest Unsorted Continuous Subarray j Easy
589 N-ary Tree Preorder Traversal    Easy Tree
605 Can Place Flowers j Easy
606 Construct String from Binary Tree    Easy
617 Merge Two Binary Trees          Easy Tree
628 Maximum Product of Three Numbers j Easy
637 Average of Levels in Binary Tree c++  j Easy
746 Min Cost Climbing Stairs c  j Easy
747 Largest Number At Least Twice of Others j Easy
766 Toeplitz Matrix j Easy
830 Positions of Large Groups j Easy
832 Flipping an Image j Easy
867 Transpose Matrix c  j Easy
905 Sort Array By Parity j Easy
922 Sort Array By Parity II j Easy
1022 Sum of Root To Leaf Binary Numbers        Easy Tree
1025 Divisor Game j Easy
1207 [Unique Number of Occurrences][1207] Easy

剑指Offer

# Titile Tags Solutions
3 数组中重复的数字 数组、二分法
4 二维数组中的查找 二维数组
5 替换空格 字符串
6 从头到尾打印链表 链表、栈
7 重建二叉树
8 二叉树的下一个节点 二叉搜索树
9 用两个栈实现队列 栈、队列
10 斐波那契数列 递归、遍历
11 旋转数组的最小数组 查找和排序
12 ⭐ ​矩阵中的路径 回溯法
13 机器人的运动范围 回溯法
14 ⭐ ​剪绳子 动态规划、贪婪算法
15 二进制中1的个数 位运算
16 ⭐ ​数值的整数次方
17 ⭐ ​打印从1到最大的n位数 大数、递归
20 ⭐ ​表示数值的字符串 考察思维全面性
21 调整数组顺序使奇数位于偶数前面 双指针、鲁棒性
22 链表中倒数第k个节点
23 链表中环的入口节点
24 反转链表
25 合并两个排序的链表
26 树的子结构
27 二叉树的镜像
28 对称二叉树
29 顺时针打印矩阵
30 包含min函数的栈
32 从上到下打印二叉树
32.1 从上到下打印二叉树II
32.2 ⭐ ​从上到下打印二叉树III 双端队列/栈
33 二叉搜索树的后续遍历序列
34 二叉树中和为某一值的路径
36 二叉搜索树与双向链表 🇺🇸 中序遍历
37 序列化二叉树 🇺🇸 BFS、DFS
38 字符串的排列
39 数组中出现次数超过一半的数字
40 最小的k个数
41 数据流中的中位数   
42 连续子数组最大和
44 数字序列中某一位的数字 🇺🇸
45 把数组换成最小的数
46 把数字翻译成字符串 递归
47 礼物的最大价值
48 最长不含重复字符的子字符串
49 丑数 🇺🇸   
50 第一个只出现一次的字符
51 数组中逆序对 Hard
52 两个链表的第一个公共节点
53 在排序数组中查找数字
53.1 0~n-1中缺失的数字
54 二叉搜索树中最大k节点
55 二叉树的深度   
55.1 平衡二叉树
56 数组中只出现一次的两个数字   
56.1 数组中唯一只出现一次的数字   
57 和为s的数字   
57.1 和为s的连续正数序列   
58 翻转单词顺序     
58.1 左旋转字符串     
61 扑克牌中的顺子   
62 圆圈中最后剩下的数字   
63 股票的最大利润