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

28 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

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

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

Day 12 Dynamic Programming

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

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

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

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

Day 3

Day 4

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

Day 6

Day 7

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

Day 12

Day 13

Day 14

Day 15

Day 16

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

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

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

Day 8

Day 9

Day 10

Day 11

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

Day 6 Tree

Day 7 Binary Search

Day 8 Binary Search Tree

Day 9 Graph/BFS/DFS

Day 10 Dynamic Programming

Day 11 Dynamic Programming

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

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

Day 15 Tree

Day 16 Design

Day 17 Interval

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

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

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

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
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

Udemy Sorting Algorithms

Udemy 2D Arrays/Matrix

Udemy 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
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

Udemy Trie and Heap

Udemy Graph

Udemy Dynamic Programming

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
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

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

Day 4 Array

Day 5 Array

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

Day 11 Tree

Day 12 Tree

Day 13 Tree

Day 14 Tree

Data Structure II

Day 1 Array

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

Day 3 Array

Day 4 Array

Day 5 Array

Day 6 String

Day 7 String

Day 8 String

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

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

Day 13 Bit Manipulation

Day 14 Bit Manipulation

Algorithms

# Title Difficulty Tag Time, ms Time, %
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%