Skip to content

Ruby-based LeetCode algorithm problem solutions, regularly updated.

License

Notifications You must be signed in to change notification settings

pytdev/LeetCode-in-Ruby

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LeetCode-in-Ruby

MIT License Ruby CI Maintainability Rating

Ruby-based LeetCode algorithm problem solutions, regularly updated.

"For coding interview preparation, LeetCode is one of the best online resource providing a rich library of more than 300 real coding interview questions for you to practice from using one of the 7 supported languages - C, C++, Java, Python, C#, JavaScript, Ruby."

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) 60 77.52
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) 59 74.85
0074 Search a 2D Matrix Medium Top_100_Liked_Questions, Array, Binary_Search, Matrix, Big_O_Time_O(endRow+endCol)_Space_O(1) 50 97.83

Day 2 Binary Search

Day 3 Two Pointers

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) 659 83.74

Day 4 Two Pointers

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) 114 95.98

Day 5 Sliding Window

Day 6 Breadth First Search Depth First Search

Day 7 Breadth First Search Depth First Search

Day 8 Breadth First Search Depth First Search

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) 63 70.43

Day 10 Recursion Backtracking

0039 Combination Sum Medium Top_100_Liked_Questions, Array, Backtracking, Big_O_Time_O(2^n)_Space_O(n+2^n) 79 74.84

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) 49 93.94
0022 Generate Parentheses Medium Top_100_Liked_Questions, Top_Interview_Questions, String, Dynamic_Programming, Backtracking, Big_O_Time_O(2^n)_Space_O(n) 43 100.00
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) 56 100.00

Day 12 Dynamic Programming

0055 Jump Game Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Greedy, Big_O_Time_O(n)_Space_O(1) 88 95.88

Day 13 Dynamic Programming

0045 Jump Game II Medium Top_100_Liked_Questions, Array, Dynamic_Programming, Greedy, Big_O_Time_O(n)_Space_O(1) 68 75.23
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) 50 91.92

Day 14 Dynamic Programming

0005 Longest Palindromic Substring Medium Top_100_Liked_Questions, Top_Interview_Questions, String, Dynamic_Programming, Big_O_Time_O(n)_Space_O(n) 117 98.63

Day 15 Dynamic Programming

Day 16 Dynamic Programming

Day 17 Dynamic Programming

Day 18 Dynamic Programming

0072 Edit Distance Hard Top_100_Liked_Questions, String, Dynamic_Programming, Big_O_Time_O(n^2)_Space_O(n2) 139 73.91

Day 19 Bit Manipulation

Day 20 Others

Day 21 Others

Binary Search I

Day 1

Day 2

0035 Search Insert Position Easy Top_100_Liked_Questions, Array, Binary_Search, Big_O_Time_O(log_n)_Space_O(1) 48 97.37

Day 3

Day 4

Day 5

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) 60 77.52

Day 6

Day 7

Day 8

0074 Search a 2D Matrix Medium Top_100_Liked_Questions, Array, Binary_Search, Matrix, Big_O_Time_O(endRow+endCol)_Space_O(1) 50 97.83

Day 9

Day 10

Day 11

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) 59 74.85

Day 12

Binary Search II

Day 1

Day 2

Day 3

Day 4

Day 5

Day 6

Day 7

Day 8

Day 9

Day 10

Day 11

Day 12

Day 13

Day 14

Day 15

Day 16

Day 17

Day 18

Day 19

Day 20

Dynamic Programming I

Day 1

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) 48 96.01

Day 3

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) 88 95.88
0045 Jump Game II Medium Top_100_Liked_Questions, Array, Dynamic_Programming, Greedy, Big_O_Time_O(n)_Space_O(1) 68 75.23

Day 5

0053 Maximum Subarray Easy Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Divide_and_Conquer, Big_O_Time_O(n)_Space_O(1) 125 81.22

Day 6

Day 7

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) 147 80.21

Day 8

Day 9

0042 Trapping Rain Water Hard Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Two_Pointers, Stack, Monotonic_Stack, Big_O_Time_O(n)_Space_O(1) 69 80.74

Day 10

Day 11

0096 Unique Binary Search Trees Medium Top_100_Liked_Questions, Dynamic_Programming, Math, Tree, Binary_Tree, Binary_Search_Tree, Big_O_Time_O(n)_Space_O(1) 57 61.54

Day 12

Day 13

Day 14

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) 50 91.92

Day 16

0064 Minimum Path Sum Medium Top_100_Liked_Questions, Array, Dynamic_Programming, Matrix, Big_O_Time_O(m*n)_Space_O(m*n) 78 52.50

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) 117 98.63

Day 18

Day 19

0072 Edit Distance Hard Top_100_Liked_Questions, String, Dynamic_Programming, Big_O_Time_O(n^2)_Space_O(n2) 139 73.91

Day 20

Day 21

Programming Skills I

Day 1 Basic Data Type

Day 2 Operator

Day 3 Conditional Statements

Day 4 Loop

Day 5 Function

Day 6 Array

Day 7 Array

Day 8 String

Day 9 String

Day 10 Linked List and Tree

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) 55 96.72

Day 11 Containers and Libraries

Day 12 Class and Object

Programming Skills II

Day 1

Day 2

Day 3

Day 4

Day 5

Day 6

Day 7

0048 Rotate Image Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Math, Matrix, Big_O_Time_O(n^2)_Space_O(1) 50 93.64

Day 8

Day 9

Day 10

Day 11

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) 154 83.69

Day 12

Day 13

Day 14

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)) 68 97.48

Day 16

Day 17

Day 18

Day 19

Day 20

Graph Theory I

Day 1 Matrix Related Problems

Day 2 Matrix Related Problems

Day 3 Matrix Related Problems

Day 4 Matrix Related Problems

Day 5 Matrix Related Problems

Day 6 Matrix Related Problems

Day 7 Standard Traversal

Day 8 Standard Traversal

Day 9 Standard Traversal

Day 10 Standard Traversal

Day 11 Breadth First Search

Day 12 Breadth First Search

Day 13 Graph Theory

Day 14 Graph Theory

SQL I

Day 1 Select

Day 2 Select and Order

Day 3 String Processing Functions

Day 4 Union and Select

Day 5 Union

Day 6 Union

Day 7 Function

Day 8 Function

Day 9 Control of Flow

Day 10 Where

Level 1

Day 1 Prefix Sum

Day 2 String

Day 3 Linked List

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) 66 59.01

Day 4 Linked List

Day 5 Greedy

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) 147 80.21

Day 6 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) 66 76.43

Day 7 Binary Search

Day 8 Binary Search 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)) 68 70.23

Day 9 Graph/BFS/DFS

Day 10 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) 48 96.01

Day 11 Dynamic Programming

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) 50 91.92

Day 12 Sliding Window/Two Pointer

Day 13 Hashmap

0001 Two Sum Easy Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Big_O_Time_O(n)_Space_O(n) 57 89.38

Day 14 Stack

Day 15 Heap

Level 2

Day 1 Implementation/Simulation

Day 2 String

Day 3 Linked List

0019 Remove Nth Node From End of List Medium Top_100_Liked_Questions, Top_Interview_Questions, Two_Pointers, Linked_List, Big_O_Time_O(L)_Space_O(L) 51 95.27

Day 4 Linked List

Day 5 Greedy

Day 6 Tree

Day 7 Tree

Day 8 Binary Search

0074 Search a 2D Matrix Medium Top_100_Liked_Questions, Array, Binary_Search, Matrix, Big_O_Time_O(endRow+endCol)_Space_O(1) 50 97.83
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) 59 74.85

Day 9 Binary Search Tree

Day 10 Graph/BFS/DFS

Day 11 Graph/BFS/DFS

Day 12 Dynamic Programming

Day 13 Dynamic Programming

Day 14 Sliding Window/Two Pointer

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) 94 85.62
0076 Minimum Window Substring Hard Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Sliding_Window, Big_O_Time_O(s.length())_Space_O(1) 175 93.33

Day 15 Tree

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)) 58 91.34

Day 16 Design

Day 17 Interval

0056 Merge Intervals Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Big_O_Time_O(n_log_n)_Space_O(n) 103 74.70

Day 18 Stack

Day 19 Union Find

Day 20 Brute Force/Backtracking

0039 Combination Sum Medium Top_100_Liked_Questions, Array, Backtracking, Big_O_Time_O(2^n)_Space_O(n+2^n) 79 74.84
0046 Permutations Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Backtracking, Big_O_Time_O(n*n!)_Space_O(n+n!) 62 89.60

Udemy

Udemy Integers

0136 Single Number Easy Top_100_Liked_Questions, Top_Interview_Questions, Array, Bit_Manipulation, Big_O_Time_O(N)_Space_O(1) 68 78.44
0007 Reverse Integer Medium Top_Interview_Questions, Math 58 75.27
0009 Palindrome Number Easy Math 83 74.19

Udemy Strings

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) 94 85.62
0020 Valid Parentheses Easy Top_100_Liked_Questions, Top_Interview_Questions, String, Stack, Big_O_Time_O(n)_Space_O(n) 53 90.52
0005 Longest Palindromic Substring Medium Top_100_Liked_Questions, Top_Interview_Questions, String, Dynamic_Programming, Big_O_Time_O(n)_Space_O(n) 117 98.63
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) 154 83.69

Udemy Binary Search

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) 59 74.85

Udemy Arrays

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) 147 80.21
0001 Two Sum Easy Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Big_O_Time_O(n)_Space_O(n) 57 89.38
0055 Jump Game Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Greedy, Big_O_Time_O(n)_Space_O(1) 88 95.88
0075 Sort Colors Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Two_Pointers, Big_O_Time_O(n)_Space_O(1) 54 88.46
0041 First Missing Positive Hard Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Big_O_Time_O(n)_Space_O(n) 130 65.63

Udemy Two Pointers

0042 Trapping Rain Water Hard Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Two_Pointers, Stack, Monotonic_Stack, Big_O_Time_O(n)_Space_O(1) 69 80.74
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) 659 83.74

Udemy Famous Algorithm

0053 Maximum Subarray Easy Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Divide_and_Conquer, Big_O_Time_O(n)_Space_O(1) 125 81.22

Udemy Sorting Algorithms

Udemy 2D Arrays/Matrix

0074 Search a 2D Matrix Medium Top_100_Liked_Questions, Array, Binary_Search, Matrix, Big_O_Time_O(endRow+endCol)_Space_O(1) 50 97.83
0048 Rotate Image Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Math, Matrix, Big_O_Time_O(n^2)_Space_O(1) 50 93.64
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) 59 100.00
0056 Merge Intervals Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Big_O_Time_O(n_log_n)_Space_O(n) 103 74.70

Udemy Linked List

0114 Flatten Binary Tree to Linked List Medium Top_100_Liked_Questions, Depth_First_Search, Tree, Binary_Tree, Stack, Linked_List, Big_O_Time_O(N)_Space_O(N) 47 100.00
0024 Swap Nodes in Pairs Medium Top_100_Liked_Questions, Linked_List, Recursion, Big_O_Time_O(n)_Space_O(1) 59 76.00
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) 66 59.01
0025 Reverse Nodes in k-Group Hard Top_100_Liked_Questions, Linked_List, Recursion, Big_O_Time_O(n)_Space_O(k) 62 91.67

Udemy Tree Stack Queue

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) 56 84.00
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) 66 76.43
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) 55 96.72
0124 Binary Tree Maximum Path Sum Hard Top_100_Liked_Questions, Top_Interview_Questions, Dynamic_Programming, Depth_First_Search, Tree, Binary_Tree, Big_O_Time_O(N)_Space_O(N) 71 98.00
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)) 68 70.23

Udemy Trie and Heap

Udemy Graph

Udemy 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) 48 96.01
0064 Minimum Path Sum Medium Top_100_Liked_Questions, Array, Dynamic_Programming, Matrix, Big_O_Time_O(m*n)_Space_O(m*n) 78 52.50
0072 Edit Distance Hard Top_100_Liked_Questions, String, Dynamic_Programming, Big_O_Time_O(n^2)_Space_O(n2) 139 73.91
0010 Regular Expression Matching Hard Top_100_Liked_Questions, Top_Interview_Questions, String, Dynamic_Programming, Recursion, Big_O_Time_O(m*n)_Space_O(m*n) 66 94.44

Udemy Backtracking/Recursion

0022 Generate Parentheses Medium Top_100_Liked_Questions, Top_Interview_Questions, String, Dynamic_Programming, Backtracking, Big_O_Time_O(2^n)_Space_O(n) 43 100.00
0039 Combination Sum Medium Top_100_Liked_Questions, Array, Backtracking, Big_O_Time_O(2^n)_Space_O(n+2^n) 79 74.84
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) 63 70.43
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) 49 93.94
0046 Permutations Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Backtracking, Big_O_Time_O(n*n!)_Space_O(n+n!) 62 89.60

Udemy Bit Manipulation

Udemy Design

Data Structure I

Day 1 Array

0053 Maximum Subarray Easy Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Divide_and_Conquer, Big_O_Time_O(n)_Space_O(1) 125 81.22

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) 57 89.38

Day 3 Array

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) 147 80.21

Day 4 Array

Day 5 Array

0074 Search a 2D Matrix Medium Top_100_Liked_Questions, Array, Binary_Search, Matrix, Big_O_Time_O(endRow+endCol)_Space_O(1) 50 97.83

Day 6 String

Day 7 Linked List

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) 66 59.01

Day 8 Linked List

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) 53 90.52

Day 10 Tree

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) 56 84.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) 66 76.43
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) 55 96.72
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)) 58 91.34

Day 12 Tree

Day 13 Tree

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)) 68 70.23

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) 68 78.44
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) 659 83.74

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) 54 88.46
0056 Merge Intervals Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Big_O_Time_O(n_log_n)_Space_O(n) 103 74.70

Day 3 Array

0048 Rotate Image Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Math, Matrix, Big_O_Time_O(n^2)_Space_O(1) 50 93.64

Day 4 Array

Day 5 Array

Day 6 String

Day 7 String

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) 154 83.69

Day 9 String

0005 Longest Palindromic Substring Medium Top_100_Liked_Questions, Top_Interview_Questions, String, Dynamic_Programming, Big_O_Time_O(n)_Space_O(n) 117 98.63

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)) 68 97.48

Day 11 Linked List

Day 12 Linked List

0024 Swap Nodes in Pairs Medium Top_100_Liked_Questions, Linked_List, Recursion, Big_O_Time_O(n)_Space_O(1) 59 76.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) 62 91.67

Day 14 Stack Queue

Day 15 Tree

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) 71 91.78

Day 16 Tree

Day 17 Tree

Day 18 Tree

Day 19 Graph

Day 20 Heap Priority Queue

Day 21 Heap Priority Queue

Algorithm I

Day 1 Binary Search

0035 Search Insert Position Easy Top_100_Liked_Questions, Array, Binary_Search, Big_O_Time_O(log_n)_Space_O(1) 48 97.37

Day 2 Two Pointers

Day 3 Two Pointers

Day 4 Two Pointers

Day 5 Two Pointers

0019 Remove Nth Node From End of List Medium Top_100_Liked_Questions, Top_Interview_Questions, Two_Pointers, Linked_List, Big_O_Time_O(L)_Space_O(L) 51 95.27

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) 94 85.62

Day 7 Breadth First Search Depth First Search

Day 8 Breadth First Search Depth First Search

Day 9 Breadth First Search Depth First Search

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) 66 59.01

Day 11 Recursion Backtracking

0046 Permutations Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Backtracking, Big_O_Time_O(n*n!)_Space_O(n+n!) 62 89.60

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) 48 96.01

Day 13 Bit Manipulation

Day 14 Bit Manipulation

0136 Single Number Easy Top_100_Liked_Questions, Top_Interview_Questions, Array, Bit_Manipulation, Big_O_Time_O(N)_Space_O(1) 68 78.44

Algorithms

# Title Difficulty Tag Time, ms Time, %
0136 Single Number Easy Top_100_Liked_Questions, Top_Interview_Questions, Array, Bit_Manipulation, Data_Structure_II_Day_1_Array, Algorithm_I_Day_14_Bit_Manipulation, Udemy_Integers, Big_O_Time_O(N)_Space_O(1) 68 78.44
0131 Palindrome Partitioning Medium Top_100_Liked_Questions, Top_Interview_Questions, String, Dynamic_Programming, Backtracking, Big_O_Time_O(N*2^N)_Space_O(2^N*N) 1192 63.64
0128 Longest Consecutive Sequence Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Union_Find, Big_O_Time_O(N_log_N)_Space_O(1) 135 91.36
0124 Binary Tree Maximum Path Sum Hard Top_100_Liked_Questions, Top_Interview_Questions, Dynamic_Programming, Depth_First_Search, Tree, Binary_Tree, Udemy_Tree_Stack_Queue, Big_O_Time_O(N)_Space_O(N) 71 98.00
0121 Best Time to Buy and Sell Stock Easy Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Data_Structure_I_Day_3_Array, Dynamic_Programming_I_Day_7, Level_1_Day_5_Greedy, Udemy_Arrays, Big_O_Time_O(N)_Space_O(1) 147 80.21
0114 Flatten Binary Tree to Linked List Medium Top_100_Liked_Questions, Depth_First_Search, Tree, Binary_Tree, Stack, Linked_List, Udemy_Linked_List, Big_O_Time_O(N)_Space_O(N) 47 100.00
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, Data_Structure_II_Day_15_Tree, Big_O_Time_O(N)_Space_O(N) 71 91.78
0104 Maximum Depth of Binary Tree Easy Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree, Data_Structure_I_Day_11_Tree, Programming_Skills_I_Day_10_Linked_List_and_Tree, Udemy_Tree_Stack_Queue, Big_O_Time_O(N)_Space_O(H) 55 96.72
0102 Binary Tree Level Order Traversal Medium Top_100_Liked_Questions, Top_Interview_Questions, Breadth_First_Search, Tree, Binary_Tree, Data_Structure_I_Day_11_Tree, Level_1_Day_6_Tree, Udemy_Tree_Stack_Queue, Big_O_Time_O(N)_Space_O(N) 66 76.43
0101 Symmetric Tree Easy Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Breadth_First_Search, Tree, Binary_Tree, Data_Structure_I_Day_11_Tree, Level_2_Day_15_Tree, Big_O_Time_O(N)_Space_O(log(N)) 58 91.34
0098 Validate Binary Search Tree Medium Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Tree, Binary_Tree, Binary_Search_Tree, Data_Structure_I_Day_14_Tree, Level_1_Day_8_Binary_Search_Tree, Udemy_Tree_Stack_Queue, Big_O_Time_O(N)_Space_O(log(N)) 68 70.23
0096 Unique Binary Search Trees Medium Top_100_Liked_Questions, Dynamic_Programming, Math, Tree, Binary_Tree, Binary_Search_Tree, Dynamic_Programming_I_Day_11, Big_O_Time_O(n)_Space_O(1) 57 61.54
0094 Binary Tree Inorder Traversal Easy Top_100_Liked_Questions, Top_Interview_Questions, Depth_First_Search, Tree, Binary_Tree, Stack, Data_Structure_I_Day_10_Tree, Udemy_Tree_Stack_Queue, Big_O_Time_O(n)_Space_O(n) 56 84.00
0084 Largest Rectangle in Histogram Hard Top_100_Liked_Questions, Top_Interview_Questions, Array, Stack, Monotonic_Stack, Big_O_Time_O(n_log_n)_Space_O(log_n) 197 98.25
0079 Word Search Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Matrix, Backtracking, Algorithm_II_Day_11_Recursion_Backtracking, Big_O_Time_O(4^(m*n))_Space_O(m*n) 56 100.00
0078 Subsets Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Bit_Manipulation, Backtracking, Algorithm_II_Day_9_Recursion_Backtracking, Udemy_Backtracking/Recursion, Big_O_Time_O(2^n)_Space_O(n*2^n) 63 70.43
0076 Minimum Window Substring Hard Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Sliding_Window, Level_2_Day_14_Sliding_Window/Two_Pointer, Big_O_Time_O(s.length())_Space_O(1) 175 93.33
0075 Sort Colors Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Two_Pointers, Data_Structure_II_Day_2_Array, Udemy_Arrays, Big_O_Time_O(n)_Space_O(1) 54 88.46
0074 Search a 2D Matrix Medium Top_100_Liked_Questions, Array, Binary_Search, Matrix, Data_Structure_I_Day_5_Array, Algorithm_II_Day_1_Binary_Search, Binary_Search_I_Day_8, Level_2_Day_8_Binary_Search, Udemy_2D_Arrays/Matrix, Big_O_Time_O(endRow+endCol)_Space_O(1) 50 97.83
0073 Set Matrix Zeroes Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Matrix, Udemy_2D_Arrays/Matrix, Big_O_Time_O(m*n)_Space_O(1) 59 100.00
0072 Edit Distance Hard Top_100_Liked_Questions, String, Dynamic_Programming, Algorithm_II_Day_18_Dynamic_Programming, Dynamic_Programming_I_Day_19, Udemy_Dynamic_Programming, Big_O_Time_O(n^2)_Space_O(n2) 139 73.91
0070 Climbing Stairs Easy Top_100_Liked_Questions, Top_Interview_Questions, Dynamic_Programming, Math, Memoization, Algorithm_I_Day_12_Dynamic_Programming, Dynamic_Programming_I_Day_2, Level_1_Day_10_Dynamic_Programming, Udemy_Dynamic_Programming, Big_O_Time_O(n)_Space_O(n) 48 96.01
0064 Minimum Path Sum Medium Top_100_Liked_Questions, Array, Dynamic_Programming, Matrix, Dynamic_Programming_I_Day_16, Udemy_Dynamic_Programming, Big_O_Time_O(m*n)_Space_O(m*n) 78 52.50
0062 Unique Paths Medium Top_100_Liked_Questions, Top_Interview_Questions, Dynamic_Programming, Math, Combinatorics, Algorithm_II_Day_13_Dynamic_Programming, Dynamic_Programming_I_Day_15, Level_1_Day_11_Dynamic_Programming, Big_O_Time_O(m*n)_Space_O(m*n) 50 91.92
0056 Merge Intervals Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Data_Structure_II_Day_2_Array, Level_2_Day_17_Interval, Udemy_2D_Arrays/Matrix, Big_O_Time_O(n_log_n)_Space_O(n) 103 74.70
0055 Jump Game Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Greedy, Algorithm_II_Day_12_Dynamic_Programming, Dynamic_Programming_I_Day_4, Udemy_Arrays, Big_O_Time_O(n)_Space_O(1) 88 95.88
0053 Maximum Subarray Easy Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Divide_and_Conquer, Data_Structure_I_Day_1_Array, Dynamic_Programming_I_Day_5, Udemy_Famous_Algorithm, Big_O_Time_O(n)_Space_O(1) 125 81.22
0051 N-Queens Hard Top_100_Liked_Questions, Array, Backtracking, Big_O_Time_O(N!)_Space_O(N) 82 88.89
0049 Group Anagrams Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, String, Hash_Table, Sorting, Data_Structure_II_Day_8_String, Programming_Skills_II_Day_11, Udemy_Strings, Big_O_Time_O(n*k_log_k)_Space_O(n) 154 83.69
0048 Rotate Image Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Math, Matrix, Data_Structure_II_Day_3_Array, Programming_Skills_II_Day_7, Udemy_2D_Arrays/Matrix, Big_O_Time_O(n^2)_Space_O(1) 50 93.64
0046 Permutations Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Backtracking, Algorithm_I_Day_11_Recursion_Backtracking, Level_2_Day_20_Brute_Force/Backtracking, Udemy_Backtracking/Recursion, Big_O_Time_O(n*n!)_Space_O(n+n!) 62 89.60
0045 Jump Game II Medium Top_100_Liked_Questions, Array, Dynamic_Programming, Greedy, Algorithm_II_Day_13_Dynamic_Programming, Dynamic_Programming_I_Day_4, Big_O_Time_O(n)_Space_O(1) 68 75.23
0042 Trapping Rain Water Hard Top_100_Liked_Questions, Top_Interview_Questions, Array, Dynamic_Programming, Two_Pointers, Stack, Monotonic_Stack, Dynamic_Programming_I_Day_9, Udemy_Two_Pointers, Big_O_Time_O(n)_Space_O(1) 69 80.74
0041 First Missing Positive Hard Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Udemy_Arrays, Big_O_Time_O(n)_Space_O(n) 130 65.63
0039 Combination Sum Medium Top_100_Liked_Questions, Array, Backtracking, Algorithm_II_Day_10_Recursion_Backtracking, Level_2_Day_20_Brute_Force/Backtracking, Udemy_Backtracking/Recursion, Big_O_Time_O(2^n)_Space_O(n+2^n) 79 74.84
0035 Search Insert Position Easy Top_100_Liked_Questions, Array, Binary_Search, Algorithm_I_Day_1_Binary_Search, Binary_Search_I_Day_2, Big_O_Time_O(log_n)_Space_O(1) 48 97.37
0034 Find First and Last Position of Element in Sorted Array Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Algorithm_II_Day_1_Binary_Search, Binary_Search_I_Day_5, Big_O_Time_O(log_n)_Space_O(1) 60 77.52
0033 Search in Rotated Sorted Array Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Algorithm_II_Day_1_Binary_Search, Binary_Search_I_Day_11, Level_2_Day_8_Binary_Search, Udemy_Binary_Search, Big_O_Time_O(log_n)_Space_O(1) 59 74.85
0032 Longest Valid Parentheses Hard Top_100_Liked_Questions, String, Dynamic_Programming, Stack, Big_O_Time_O(n)_Space_O(1) 73 82.61
0031 Next Permutation Medium Top_100_Liked_Questions, Array, Two_Pointers, Big_O_Time_O(n)_Space_O(1) 58 82.76
0025 Reverse Nodes in k-Group Hard Top_100_Liked_Questions, Linked_List, Recursion, Data_Structure_II_Day_13_Linked_List, Udemy_Linked_List, Big_O_Time_O(n)_Space_O(k) 62 91.67
0024 Swap Nodes in Pairs Medium Top_100_Liked_Questions, Linked_List, Recursion, Data_Structure_II_Day_12_Linked_List, Udemy_Linked_List, Big_O_Time_O(n)_Space_O(1) 59 76.00
0023 Merge k Sorted Lists Hard Top_100_Liked_Questions, Top_Interview_Questions, Heap_Priority_Queue, Linked_List, Divide_and_Conquer, Merge_Sort, Big_O_Time_O(k*n*log(k))_Space_O(log(k)) 76 87.95
0022 Generate Parentheses Medium Top_100_Liked_Questions, Top_Interview_Questions, String, Dynamic_Programming, Backtracking, Algorithm_II_Day_11_Recursion_Backtracking, Udemy_Backtracking/Recursion, Big_O_Time_O(2^n)_Space_O(n) 43 100.00
0021 Merge Two Sorted Lists Easy Top_100_Liked_Questions, Top_Interview_Questions, Linked_List, Recursion, Data_Structure_I_Day_7_Linked_List, Algorithm_I_Day_10_Recursion_Backtracking, Level_1_Day_3_Linked_List, Udemy_Linked_List, Big_O_Time_O(m+n)_Space_O(m+n) 66 59.01
0020 Valid Parentheses Easy Top_100_Liked_Questions, Top_Interview_Questions, String, Stack, Data_Structure_I_Day_9_Stack_Queue, Udemy_Strings, Big_O_Time_O(n)_Space_O(n) 53 90.52
0019 Remove Nth Node From End of List Medium Top_100_Liked_Questions, Top_Interview_Questions, Two_Pointers, Linked_List, Algorithm_I_Day_5_Two_Pointers, Level_2_Day_3_Linked_List, Big_O_Time_O(L)_Space_O(L) 51 95.27
0017 Letter Combinations of a Phone Number Medium Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Backtracking, Algorithm_II_Day_11_Recursion_Backtracking, Udemy_Backtracking/Recursion, Big_O_Time_O(4^n)_Space_O(n) 49 93.94
0015 3Sum Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Sorting, Two_Pointers, Data_Structure_II_Day_1_Array, Algorithm_II_Day_3_Two_Pointers, Udemy_Two_Pointers, Big_O_Time_O(n*log(n))_Space_O(n^2) 659 83.74
0011 Container With Most Water Medium Top_100_Liked_Questions, Top_Interview_Questions, Array, Greedy, Two_Pointers, Algorithm_II_Day_4_Two_Pointers, Big_O_Time_O(n)_Space_O(1) 114 95.98
0010 Regular Expression Matching Hard Top_100_Liked_Questions, Top_Interview_Questions, String, Dynamic_Programming, Recursion, Udemy_Dynamic_Programming, Big_O_Time_O(m*n)_Space_O(m*n) 66 94.44
0009 Palindrome Number Easy Math, Udemy_Integers 83 74.19
0008 String to Integer (atoi) Medium Top_Interview_Questions, String 67 67.26
0007 Reverse Integer Medium Top_Interview_Questions, Math, Udemy_Integers 58 75.27
0006 Zigzag Conversion Medium String 77 100.00
0005 Longest Palindromic Substring Medium Top_100_Liked_Questions, Top_Interview_Questions, String, Dynamic_Programming, Data_Structure_II_Day_9_String, Algorithm_II_Day_14_Dynamic_Programming, Dynamic_Programming_I_Day_17, Udemy_Strings, Big_O_Time_O(n)_Space_O(n) 117 98.63
0004 Median of Two Sorted Arrays Hard Top_100_Liked_Questions, Top_Interview_Questions, Array, Binary_Search, Divide_and_Conquer, Big_O_Time_O(log(min(N,M)))_Space_O(1) 64 93.81
0003 Longest Substring Without Repeating Characters Medium Top_100_Liked_Questions, Top_Interview_Questions, String, Hash_Table, Sliding_Window, Algorithm_I_Day_6_Sliding_Window, Level_2_Day_14_Sliding_Window/Two_Pointer, Udemy_Strings, Big_O_Time_O(n)_Space_O(1) 94 85.62
0002 Add Two Numbers Medium Top_100_Liked_Questions, Top_Interview_Questions, Math, Linked_List, Recursion, Data_Structure_II_Day_10_Linked_List, Programming_Skills_II_Day_15, Big_O_Time_O(max(N,M))_Space_O(max(N,M)) 68 97.48
0001 Two Sum Easy Top_100_Liked_Questions, Top_Interview_Questions, Array, Hash_Table, Data_Structure_I_Day_2_Array, Level_1_Day_13_Hashmap, Udemy_Arrays, Big_O_Time_O(n)_Space_O(n) 57 89.38

Contributing

Your ideas/fixes/algorithms are more than welcome!

  1. Fork this repo
  2. Clone your forked repo (git clone https://github.com/YOUR_GITHUB_USERNAME/LeetCode-in-Ruby.git) onto your local machine
  3. cd into your cloned directory, create your feature branch (git checkout -b my-awesome-fix)
  4. git add your desired changes to this repo
  5. Commit your changes (git commit -m 'Added some awesome features/fixes')
  6. Push to the branch (git push origin my-awesome-feature)
  7. Open your forked repo on Github website, create a new Pull Request to this repo!

About

Ruby-based LeetCode algorithm problem solutions, regularly updated.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 100.0%