Skip to content

GitProfAn/Algorithm_pivot_table

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 

Repository files navigation

third party reference:

Algorithms' pivot table (all examples are provided in Python)

Difficulty levels:

  • easy
  • medium
  • hard
  • very hard

Categories:

  • arrays
  • binary search trees
  • binary trees
  • dynamic programming
  • famous algorithms
  • graphs
  • greedy algorithms
  • heaps
  • linked lists
  • recursion
  • searching
  • sorting
  • stacks
  • strings
  • tries
Algorithm Difficulty Category Time comp. Space comp.
001 Validate Subsequence Easy – 1/25 Arrays – 1/24 O(n) O(1)
002 Two Number Sum Easy – 2/25 Arrays – 2/24 O(n) O(n)
003 Sorted Squared Array Easy – 3/25 Arrays – 3/24 O(n) O(n)
004 Tournament Winner Easy – 4/25 Arrays – 4/24 O(n) O(n)
005 Non-Constructible Change Easy – 5/25 Arrays – 5/24 O(n*log(n)) O(1)
006 Find Closest Value In BST Easy – 6/25 BST – 1/10 O(log(n)) O(1)
007 Branch Sums Easy – 7/25 Binary Trees – 1/10 O(n) O(n)
008 Node Depths Easy – 8/25 Binary Trees – 2/10 O(n) O(h)
009 Depth-first Search Easy – 9/25 Graphs – 1/11 O(v + e) O(v)
010 Minimum Waiting Time Easy – 10/25 Greedy Algorithms – 1/5 O(n*log(n)) O(1)
011 Class Photos Easy – 11/25 Greedy Algorithms – 2/5 O(n*log(n)) O(1)
012 Tandem Bicycle Easy – 12/25 Greedy Algorithms – 3/5 O(n*log(n)) O(1)
013 Remove Duplicates From Linked List Easy – 13/25 Linked List – 1/12 O(n) O(1)
014 Nth Fibonacci Easy – 14/25 Recursion – 1/12 O(n) O(1)
015 Product Sum Easy – 15/25 Recursion – 2/12 O(n) O(depth)
016 Binary Search Easy – 16/25 Searching – 1/7 O(log(n)) O(1)
017 Find Three Largest Numbers Easy – 17/25 Searching – 2/7 O(n) O(1)
018 Bubble Sort Easy – 18/25 Sorting – 1/8 O(n^2) O(1)
019 Insertion Sort Easy – 19/25 Sorting – 2/8 O(n^2) O(1)
020 Selection Sort Easy – 20/25 Sorting – 3/8 O(n^2) O(1)
021 Palindrome Check Easy – 21/25 Strings – 1/14 O(n) O(1)
022 Caesar Cipher Encryptor Easy – 22/25 Strings – 2/14 O(n) O(n)
023 Run-Length Encoding Easy – 23/25 Strings – 3/14 O(n) O(n)
024 Generate Document Easy – 24/25 Strings – 4/14 O(n + m) O(c)
025 First Non-Repeating Character Easy – 25/25 Strings – 5/14 O(n) O(1)
026 River Sizes Medium – 1/52 Graphs – 2/11 O(wh) O(wh)
027 Three Number Sum Medium – 2/52 Arrays – 6/24 O(n^2) O(1)
028 Smallest Difference Medium – 3/52 Arrays – 7/24 O(nlog(n) + mlog(m)) O(1)
029 Move Element To End Medium – 4/52 Arrays – 8/24 O(n) O(1)
030 Monotonic Array Medium – 5/52 Arrays – 9/24 O(n) O(1)
031 Spiral Traverse Medium – 6/52 Arrays – 10/24 O(n) O(n)
032 Longest Peak Medium – 7/52 Arrays – 11/24 O(n) O(1)
033 Array Of Products Medium – 8/52 Arrays – 12/24 O(n) O(n)
034 First Duplicate Value Medium – 9/52 Arrays – 13/24 O(n) O(1)
035 Merge Overlapping Intervals Medium – 10/52 Arrays – 14/24 O(n*log(n)) O(n)
036 BST Construction Medium – 11/52 BST – 2/10 O(log(n)) O(1)
037 Validate BST Medium – 12/52 BST – 3/10 O(n) O(d)
038 BST Traversal Medium – 13/52 BST – 4/10 O(n) O(n)
039 Min Height BST Medium – 14/52 BST – 5/10 O(n) O(n)
040 Find Kth Largest Value In BST Medium – 15/52 BST – 6/10 O(h + k) O(h)
041 Reconstruct BST Medium – 16/52 BST – 7/10 O(n) O(h)
042 Invert Binary Tree Medium – 17/52 Binary Trees – 3/10 O(n) O(d)
043 Binary Tree Diameter Medium – 18/52 Binary Trees – 4/10 O(n) O(n)
044 Find Successor Medium – 19/52 Binary Trees – 5/10 O(h) O(1)
045 Height Balanced Binary Tree Medium – 20/52 Binary Trees – 6/10 O(n) O(h)
046 Max Subset Sum No Adjacent Medium – 21/52 Dynamic Programming – 1/19 O(n) O(1)
047 Number Of Ways To Make Change Medium – 22/52 Dynamic Programming – 2/19 O(nd) O(n)
048 Min Number Of Coins For Change Medium – 22/52 Dynamic Programming – 3/19 O(nd) O(n)
049 Levenshtein Distance Medium – 24/52 Dynamic Programming – 4/19 O(nm) O(min(n, m))
050 Number Of Ways To Traverse Graph Medium – 25/52 Dynamic Programming – 5/19 O(n + m) O(1)
051 Kadane's Algorithm Medium – 26/52 Famous Algorithms – 1/5 O(n) O(1)
052 Single Cycle Check Medium – 27/52 Graphs – 2/11 O(n) O(1)
053 Breadth-first Search Medium – 28/52 Graphs – 3/11 O(v + e) O(v)
054 Youngest Common Ancestor Medium – 29/52 Graphs – 5/11 O(d) O(1)
055 Remove Islands Medium – 30/52 Graphs – 6/11 O(wh) O(wh)
056 Cycle In Graph Medium – 31/52 Graphs – 7/11 O(v + e) O(v)
057 Task Assignment Medium – 32/52 Greedy Algorithms – 4/5 O(n*log(n)) O(n)
058 Valid Starting City Medium – 33/52 Greedy Algorithms – 5/5 O(n) O(1)
059 Min Heap Construction Medium – 34/52 Heaps – 1/5 O(n) O(1)
060 Linked List Construction Medium – 35/52 Linked List – 2/12 O(1) O(1)
061 Remove Nth Node From End Medium – 36/52 Linked List – 3/12 O(n) O(1)
062 Sum Of Linked Lists Medium – 37/52 Linked List – 4/12 O(max(n, m)) O(max(n, m))
063 Permutations Medium – 38/52 Recursion – 3/12 O(n*n!) O(n*n!)
064 Powerset Medium – 39/52 Recursion – 4/12 O(n*2^n) O(n*2^n)
065 Phone Number Mnemonics Medium – 40/52 Recursion – 5/12 O(4^n * n) O(4^n * n)
066 Staircase Traversal Medium – 41/52 Recursion – 6/12 O(n) O(n)
067 Search In Sorted Matrix Medium – 42/52 Searching – 3/7 O(n + m) O(1)
068 Three Number Sort Medium – 43/52 Sorting – 4/8 O(n) O(1)
069 Min Max Stack Construction Medium – 44/52 Stacks – 1/6 O(1) O(1)
070 Balanced Brackets Medium – 45/52 Stacks – 2/6 O(n) O(n)
071 Sunset Views Medium – 46/52 Stacks – 3/6 O(n) O(n)
072 Sort Stack Medium – 47/52 Stacks –
073 Longest Palindromic Substring Medium – 48/52 Strings – 6/14 O(n^2) O(1)
074 Group Anagrams Medium – 49/52 Strings – 7/14 O(w * n * log(n)) O(wn)
075 Valid IP Addresses Medium – 50/52 Strings – 8/14 O(1) O(1)
076 Reverse Words In String Medium – 51/52 Strings – 9/14 O(n) O(n)
077 Suffix Trie Construction Medium – 52/52 Tries – 1/2 O(n^2) O(n^2)
078 Shift Linked List Hard – 1/46 Linked List – 8/13 O(n) O(1)
079 Four Number Sum Hard – 2/46 Arrays – 15/24 O(n^2) O(n^2)
080 Subarray Sort Hard – 3/46 Arrays – 16/24 O(n) O(1)
081 Largest Range Hard – 4/46 Arrays – 17/24 O(n) O(n)
082 Min Rewards Hard – 5/46 Arrays – 18/24 O(n) O(n)
083 Zigzag Traverse Hard – 6/46 Arrays – 19/24 O(n) O(n)
084 Same BSTs Hard – 7/46 BST – 8/10 O(n^2) O(d)
085 Validate Three Nodes Hard – 8/46 BST – 9/10 O(h) O(1)
086 Max Path Sum Hard – 9/46 Binary Trees – 7/12 O(n) O(log(n))
087 Find Nodes Distance K Hard – 10/46 Binary Trees – 8/12 O(n) O(n)
088 Max Sum Increasing Subsequence Hard – 11/46 Dynamic Programming – 6/19 O(n^2) O(n)
089 Longest Common Subsequence Hard – 12/46 Dynamic Programming – 7/19 O(nm) O(nm)
090 Min Number Of Jumps Hard – 13/46 Dynamic Programming – 8/19 O(n) O(1)
091 Water Area Hard – 14/46 Dynamic Programming – 9/19 O(n) O(n)
092 Knapsack Problem Hard – 15/46 Dynamic Programming – 10/19 O(nc) O(nc)
093 Disk Stacking Hard – 16/46 Dynamic Programming – 11/19 O(n^2) O(n)
094 Numbers In Pi Hard – 17/46 Dynamic Programming – 12/19 O(n^3 + m) O(n + m)
095 Maximum Sum Submatrix Hard – 18/46 Dynamic Programming – 13/19 O(w * h) O(w * h)
096 Maximize Expression Hard – 19/46 Dynamic Programming – 14/19
097 Dijkstra's Algorithm Hard – 20/46 Famous Algorithms – 2/5 O((v + e) * log(v)) O(v)
098 Topological Sort Hard – 21/46 Famous Algorithms – 3/5 O(j + d) O(j + d)
099 Boggle Board Hard – 22/46 Graphs – 8/11 O(nm*8^s + ws) O(nm + ws)
100 Continuous Median Hard – 23/46 Heaps – 2/5 O(log(n)) O(n)
101 Sort K-Sorted Array Hard – 24/46 Heaps – 3/5 O(nlog(k)) O(k)
102 Laptop Rentals Hard – 25/46 Heaps – 4/5 O(nlog(n)) O(n)
103 Find Loop Hard – 26/46 Linked List – 5/12 O(n) O(1)
104 Reverse Linked List Hard – 27/46 Linked List – 6/12 O(n) O(1)
105 Merge Linked Lists Hard – 28/46 Linked List – 7/12 O(n + m) O(1)
106 Lowest Common Manager Hard – 29/46 Recursion – 7/12 O(n) O(d)
107 Interweaving Strings Hard – 30/46 Recursion – 8/12 O(nm) O(nm)
108 Solve Sudoku Hard – 31/46 Recursion – 9/12 O(1) O(1)
109 Generate Div Tags Hard – 32/46 Recursion – 10/12 O((2n)!/((n!((n + 1)!)))) O((2n)!/((n!((n + 1)!))))
110 Ambiguous Measurements Hard – 33/46 Recursion – 11/12 O(low * high * n) O(low * high)
111 Shifted Binary Search Hard – 34/46 Searching – 4/7 O(log(n)) O(1)
112 Quickselect Hard – 35/46 Searching – 5/7 O(n) O(1)
113 Index Equals Value Hard – 36/46 Searching – 6/7 O(log(n)) O(1)
114 Quick Sort Hard – 37/46 Sorting – 5/9 O(n*log(n)) O(log(n))
115 Heap Sort Hard – 38/46 Sorting – 6/9 O(n*log(n)) O(1)
116 Radix Sort Hard – 39/46 Sorting – 7/9
117 Shorten Path Hard – 40/46 Stacks – 6/7 O(n) O(n)
118 Largest Rectangle Under Skyline Hard – 41/46 Stacks – 7/7 O(n) O(n)
119 Longest Substring Without Duplication Hard – Strings – O(n) O(min(n, a))
120 Underscorify Substring Hard – Strings – O(n * m) O(n)
121 Pattern Matcher Hard – Strings – O(n^2 + m) O(n + m)
122 Multi String Search Hard – Tries – O(ns + bs) O(ns)

About

Algorithm_pivot_table

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published