HackerRank
HackerRank solutions in Java/JS/Python/C++/C#
If you are interested in helping or have a solution in a different language feel free to make a pull request. The project is written primarily in Java, distributed under the MIT License license, first published in 2016. It has gained significant community traction with 1,333 stars and 689 forks on GitHub. Key topics include: algorithms, cpp, csharp, data-structures, hackerrank.
<p align="center">
<a href="https://www.hackerrank.com/ryanfehr18"><img src="https://cloud.githubusercontent.com/assets/19765741/25342064/d17a563c-28d8-11e7-83fc-763d4ab4820a.jpg" ></a>
</p>
<p align="center">
Solutions to problems on HackerRank.
</p>
<p align="center">
Check out HackerRank's new format <a href="./README_V2.md">here</a>
</p>
<p align="center">
If you are interested in helping or have a solution in a different language feel free to make a pull request.
</p>
<p align="center">
<img src="https://img.shields.io/badge/Problems%20Solved-153-brightgreen.svg">
<img src="https://img.shields.io/badge/Language-Java/JS/Python/C++/CSharp-orange.svg">
<img src="https://img.shields.io/badge/Latest%20Update-06/21/2018-brightgreen.svg">
</p>
Algorithms
DataStructures
Mathematics
Java
Algorithms 
- Warmup
- Implementation
- Strings
- Sorting
- Search
- Graph Theory
- Greedy
- Dynamic Programming
- Constructive Algorithms
- Bit Manipulation
- Recursion
- Game Theory
- NP Complete
DataStructures 
- Arrays
- Linked Lists
- Trees
- Balanced Trees
- Stacks
- Queues
- Heap
- Disjoint Set
- Multiple Choice
- Trie
- Advanced
Mathematics 
- Fundamentals
- Number Theory
- Combinatorics
- Algebra
- Geometry
- Probability
- Linear Algebra Foundations
Java 
- Introduction
- Strings
- BigNumber
- Data Structures
- Object Oriented Programming
- Exception Handling
- Advanced
Warmup
| # | Title | Solution | Time | Space | Difficulty | Points | Note |
|---|---|---|---|---|---|---|---|
| Solve Me First | <ul><li>Java</li> <li>C#</li><ul> | O(1) | O(1) | Easy | 1 | ||
| Simple Array Sum | <ul><li>Java</li> <li>C#</li><ul> | O(n) | O(1) | Easy | 10 | ||
| Compare the Triplets | <ul><li>Java</li> <li>C#</li><ul> | O(1) | O(1) | Easy | 10 | ||
| A Very Big Sum | <ul><li>Java</li> <li>C#</li><ul> | O(n) | O(1) | Easy | 10 | ||
| Diagonal Difference | <ul><li>Java</li><li>C#</li><ul> | O(n) | O(1) | Easy | 10 | ||
| Plus Minus | <ul><li>Java</li><li>C#</li><ul> | O(n) | O(1) | Easy | 10 | ||
| Staircase | <ul><li>Java</li><li>C#</li><ul> | O(n) | O(n) | Easy | 10 | ||
| Mini-Max Sum | <ul><li>Java</li><li>C#</li><ul> | O(1) | O(1) | Easy | 10 | ||
| Time Conversion | <ul><li>Java</li><li>C#</li><ul> | O(1) | O(1) | Easy | 15 | ||
| Birthday Cake Candles | <ul><li>Java</li><li>C#</li><ul> | O(n) | O(1) | Easy | 10 |
Implementation
| # | Title | Solution | Time | Space | Difficulty | Points | Note |
|---|---|---|---|---|---|---|---|
| Grading Students | <ul><li>Java</li> <li>JS</li> <li>C#</li><ul> | O(n) | O(1) | Easy | 10 | ||
| Apple and Orange | <ul><li>Java</li> <li>JS</li> <li>C#</li><ul> | O(n+m) | O(1) | Easy | 10 | ||
| Kangaroo | <ul><li>Java</li> <li>C#</li><ul> | O(1) | O(1) | Easy | 10 | ||
| Between Two Sets | <ul><li>Java</li> <li>C#</li><ul> | O(x(n+m)) | O(1) | Easy | 10 | x=(max(m) - min(n))/min(n) | |
| Divisible Sum Pairs | <ul><li>Java</li><li>C#</li><ul> | O(n^2) | O(1) | Easy | 10 | ||
| Birthday Chocolate | <ul><li>Java</li> <li>C#</li><ul> | O(n) | O(1) | Easy | 10 | ||
| Breaking the Records | <ul><li>Java</li> <li>C#</li><ul> | O(n) | O(1) | Easy | 10 | ||
| Migratory Birds | <ul><li>Java</li> <li>JS</li><li>C#</li><ul> | O(n) | O(1) | Easy | 10 | ||
| Day of the Programmer | <ul><li>Java</li><li>C#</li><ul> | O(1) | O(1) | Easy | 15 | ||
| Bon Appetit | <ul><li>Java</li><li>C#</li><ul> | O(n) | O(1) | Easy | 10 | ||
| Sock Merchant | <ul><li>Java</li> <li>C#</li><ul> | O(n) | O(n) | Easy | 10 | ||
| Drawing Book | <ul><li>Java</li> <li>C#</li><ul> | O(1) | O(1) | Easy | 10 | ||
| Counting Valleys | <ul><li>Java</li> <li>JS</li> <li>C#</li><ul> | O(n) | O(1) | Easy | 15 | ||
| Cats and a Mouse | <ul><li>Java</li> <li>C#</li><ul> | O(1) | O(1) | Easy | 15 | ||
| Electronics Shop | <ul><li>Java</li> <li>JS</li> <li>C#</li><ul> | O(n log (n)) | O(1) | Easy | 15 | n = m+n | |
| Picking Numbers | <ul><li>Java</li> <li>C#</li><ul> | O(n) | O(n) | Easy | 20 | ||
| Climbing the Leaderboard | <ul><li>Java</li> <li>JS</li> <li>C#</li><ul> | O(n+m) | (n) | Easy | 20 | ||
| The Hurdle Race | <ul><li>Java</li> <li>C#</li><ul> | O(n) | O(1) | Easy | 15 | ||
| Designer PDF Viewer | <ul><li>Java</li> <li>JS</li> <li>C#</li><ul> | O(n) | O(n) | Easy | 20 | ||
| Forming a Magic Square | <ul><li>Java</li><ul> | O(1) | O(1) | Easy | 20 | ||
| Utopian Tree | <ul><li>Java</li> <li>JS</li> <li>C#</li><ul> | O(n) | O(1) | Easy | 20 | ||
| Angry Professor | <ul><li>Java</li> <li>JS</li> <li>C#</li><ul> | O(n) | O(1) | Easy | 20 | ||
| Beautiful Days at the Movies | <ul><li>Java</li> <li>JS</li> <li>C#</li><ul> | O(n) | O(1) | Easy | 15 | ||
| Viral Advertising | <ul><li>Java</li> <li>JS</li> <li>C#</li><ul> | O(n) | O(1) | Easy | 15 | ||
| Save the Prisoner! | <ul><li>Java</li> <li>C#</li><ul> | O(1) | O(1) | Easy | 15 | ||
| Circular Array Rotation | <ul><li>Java</li> <li>C#</li><ul> | O(n) | O(1) | Easy | 20 | ||
| Sequence Equation | <ul><li>Java</li> <li>C#</li><ul> | O(n) | O(n) | Easy | 20 | ||
| Jumping on the Clouds: Revisited | <ul><li>Java</li> <li>C#</li><ul> | O(n) | O(n) | Easy | 15 | ||
| Find Digits | <ul><li>Java</li> <li>C#</li><ul> | O(n) | O(1) | Easy | 25 | ||
| Extra Long Factorials | <ul><li>Java</li> <li>C#</li><ul> | O(n) | O(1) | Medium | 20 | ||
| Append and Delete | <ul><li>Java</li><ul> | O(n) | O(1) | Easy | 20 | ||
| Sherlock and Squares | <ul><li>Java</li><ul> | O(n) | O(1) | Easy | 20 | ||
| Library Fine | <ul><li>Java</li> <li>C#</li><ul> | O(1) | O(1) | Easy | 15 | ||
| Cut the sticks | <ul><li>Java</li> <li>C#</li><ul> | O(n log(n)) | O(n) | Easy | 25 | ||
| Non-Divisible Subset | <ul><li>Java</li><ul> | O(n) | O(n) | Medium | 20 | ||
| Repeated String | <ul><li>Java</li> <li>C#</li><ul> | O(n) | O(n) | Easy | 20 | ||
| Jumping on the Clouds | <ul><li>Java</li><li>C#</li><ul> | O(n) | O(n) | Easy | 20 | ||
| Equalize the Array | <ul><li>Java</li><li>C#</li><ul> | O(n) | O(n) | Easy | 20 | ||
| Queen's Attack II | <ul><li>Java</li><ul> | O(k) | O(1) | Medium | 30 | ||
| ACM ICPC Team | <ul><li>Java</li><ul> | O(n^3) | O(n) | Easy | 25 | ||
| Taum and B'day | <ul><li>Java</li><li>C#</li><ul> | O(1) | O(1) | Easy | 25 | ||
| Organizing Containers of Balls | <ul><li>Java</li><ul> | O(n^2) | O(n^2) | Medium | 30 | ||
| Encryption | <ul><li>Java</li><li>C#</li><ul> | O(n) | O(1) | Medium | 30 | ||
| Bigger is Greater | <ul><li>Java</li><ul> | O(n) | O(n) | Medium | 35 | ||
| Modified Kaprekar Numbers | <ul><li>Java</li><li>C#</li><ul> | O(n) | O(1) | Easy | 30 | ||
| Minimum Distances | <ul><li>Java</li><li>C#</li><ul> | O(n) | O(n) | Easy | 20 | ||
| Beautiful Triplets | <ul><li>Java</li><li>C#</li><ul> | O(n) | O(n) | Easy | 20 | ||
| Strings: Making Anagrams | <ul><li>Java</li><ul> | O(|a|+|b|) | O(1) | Easy | 30 | ||
| The Time in Words | <ul><li>Java</li><li>C#</li><ul> | O(1) | O(1) | Medium | 25 | ||
| Chocolate Feast | <ul><li>Java</li><li>C#</li><ul> | O(log(n)) | O(1) | Easy | 25 | Base of logarithmic time complexity is m | |
| Service Lane | <ul><li>Java</li><li>C#</li><ul> | O(n) | O(n) | Easy | 20 | ||
| Lisa's Workbook | <ul><li>Java</li><li>C#</li><ul> | O(n) | O(1) | Easy | 25 | ||
| Flatland Space Stations | <ul><li>Java</li><li>C#</li><ul> | O(n) | O(n) | Easy | 25 | ||
| Fair Rations | <ul><li>Java</li><li>C#</li><ul> | O(n) | O(1) | Easy | 25 | ||
| Cavity Map | <ul><li>Java</li><li>C#</li><ul> | O(n^2) | O(n^2) | Easy | 30 | ||
| Manasa and Stones | <ul><li>Java</li><li>C#</li><ul> | O(n) | O(1) | Easy | 30 | ||
| The Grid Search | <ul><li>Java</li><ul> | O(n) | O(n) | Medium | 30 | n = len(word) | |
| Happy Ladybugs | <ul><li>Java</li><ul> | O(n) | O(n) | Easy | 30 | ||
| Strange Counter | <ul><li>Java</li><ul> | O(n) | O(1) | Easy | 30 | n = t | |
| Absolute Permuation | <ul><li>Java</li><ul> | O(n) | O(n) | Medium | 40 | ||
| The Bomberman Game | <ul><li>Java</li><ul> | O(n*m) | O(n*m) | Medium | 40 | ||
| Ema's Supercomputer | <ul><li>Java</li></ul> | Medium | 40 | ||||
| Larry's Array | <ul><li>Java</li></ul> | Medium | 40 | ||||
| Almost Sorted | <ul><li>Java</li></ul> | Medium | 50 | ||||
| Matrix Layer Rotation | <ul><li>Python3</li><ul> | O(n*m) | O(n*m) | Hard | 80 | ||
| Consecutive 1s in Binary Numbers | <ul><li>Java</li><ul> | O(n) | O(1) | Easy | 30 | ||
| Nested Logic | <ul><li>Java</li><ul> | O(1) | O(1) | Easy | 40 | ||
| Bitwise AND | <ul><li>Java</li><ul> | O(1) | O(1) | Easy | 20 |
Strings
| # | Title | Solution | Time | Space | Difficulty | Points | Note |
|---|---|---|---|---|---|---|---|
| Super Reduced String | <ul><li>Java</li><li>C#</li><ul> | O(n) | O(n) | Easy | 10 | ||
| camelCase | <ul><li>Java</li><li>C#</li><ul> | O(n) | O(1) | Easy | 15 | ||
| Strong Password | <ul><li>C#</li><ul> | O(n) | O(1) | Easy | 15 | ||
| Two Characters | <ul><li>Java</li><li>C#</li><ul> | O(n) | O(n) | Easy | 15 | ||
| Caesar Cipher | <ul><li>Java</li><li>C#</li><ul> | O(n) | O(n) | Easy | 15 | ||
| Caesar Cipher: Encryption | <ul><li>Java</li><ul> | O(n) | O(n) | Easy | 40 | ||
| Mars Exploration | <ul><li>Java</li><li>C#</li><ul> | O(n) | O(1) | Easy | 15 | ||
| HackerRank in a String! | <ul><li>Java</li> <li>JS</li><li>C#</li><ul> | O(n) | O(1) | Easy | 20 | ||
| Pangrams | <ul><li>Java</li><li>C#</li><ul> | O(n) | O(1) | Easy | 20 | ||
| Weighted Uniform Strings | <ul><li>Java</li><li>C#</li><ul> | O(n) | O(n) | Easy | 20 | ||
| Separate the Numbers | <ul><li>Java</li><li>C#</li></ul> | O(n) | O(n) | Easy | 20 | ||
| Funny String | <ul><li>Java</li><li>C#</li><ul> | O(n) | O(n) | Easy | 25 | ||
| Gemstones | <ul><li>Java</li><li>C#</li><ul> | O(n) | O(1) | Easy | 20 | ||
| Alternating Characters | <ul><li>Java</li><li>C#</li><ul> | O(n) | O(1) | Easy | 20 | ||
| Beautiful Binary String | <ul><li>Java</li><ul> | O(n) | O(1) | Easy | 20 | ||
| The Love-Letter Mystery | <ul><li>Java</li><ul> | O(n) | O(1) | Easy | 20 | ||
| Determining DNA Health | <ul><li>Java</li></ul> | Hard | 50 | ||||
| Palindrome Index | <ul><li>Java</li><ul> | O(n) | O(1) | Easy | 25 | ||
| Anagram | <ul><li>Java</li><ul> | O(n) | O(1) | Easy | 25 | ||
| Making Anagrams | <ul><li>Java</li><ul> | O(n) | O(n) | Easy | 30 | ||
| Game of Thrones - I | <ul><li>Java</li><li>C#</li><ul> | O(n) | O(1) | Easy | 30 | ||
| Two Strings | <ul><li>Java</li><li>C#</li><ul> | O(|a| + |b|) | O(1) | Easy | 25 | a and b are lengths of the input strings | |
| String Construction | <ul><li>Java</li><ul> | O(n) | O(n) | Easy | 25 | ||
| Sherlock and Valid String | <ul><li>Java</li><ul> | O(n) | O(n) | Hard | 100 | ||
| Richie Rich | <ul><li>Java</li> <li>Python3</li><ul> | O(n) | O(n) | Medium | 30 | ||
| Sherlock and Anagrams | <ul><li>Java</li></ul> | Medium | 50 | ||||
| Common Child | <ul><li>Java</li></ul> | Hard | 60 | ||||
| Bear and Steady Gene | <ul><li>Java</li></ul> | Medium | 50 | ||||
| Morgan and a String | <ul><li>Java</li><ul> | O((|a|+|b|)^2) | O(|a| + |b|) | Expert | 100 | ||
| Count Strings | <ul><li>Java</li></ul> | Hard | 80 | ||||
| String Function Calculation | <ul><li>Java</li></ul> | Advanced | 80 | ||||
| Build a Palindrome | <ul><li>Java</li></ul> | Advanced | 80 | ||||
| Build a String | <ul><li>Java</li></ul> | Hard | 80 | ||||
| Gridland Provinces | <ul><li>Java</li></ul> | Hard | 80 | ||||
| Ashton and String | <ul><li>Java</li></ul> | Advanced | 100 | ||||
| String Similarity | <ul><li>Java</li></ul> | Expert | 100 | ||||
| Super Functional Strings | <ul><li>Java</li></ul> | Advanced | 80 | ||||
| Circular Palindromes | <ul><li>Java</li></ul> | Advanced | 120 | ||||
| Similar Strings | <ul><li>Java</li></ul> | Advanced | 85 | ||||
| Save Humanity | <ul><li>Java</li></ul> | Expert | 100 | ||||
| Find Strings | <ul><li>Java</li></ul> | Expert | 100 | ||||
| Palindromic Border | <ul><li>Java</li></ul> | Expert | 100 | ||||
| Two Two | <ul><li>Java</li></ul> | Advanced | 150 | ||||
| Two Strings Game | <ul><li>Java</li></ul> | Expert | 100 | ||||
| Letter Islands | <ul><li>Java</li></ul> | Expert | 100 | ||||
| Pseudo-Isomorphic Substrings | <ul><li>Java</li></ul> | Expert | 100 | ||||
| How Many Substrings? | <ul><li>Java</li></ul> | Expert | 100 |
Sorting
| # | Title | Solution | Time | Space | Difficulty | Points | Note |
|---|---|---|---|---|---|---|---|
| Intro to Tutorial Challenges | <ul><li>Java</li><li>C#</li><ul> | O(n) | O(1) | Easy | 30 | ||
| Insertion Sort - Part 1 | <ul><li>Java</li><li>C#</li><ul> | O(n) | O(1) | Easy | 30 | ||
| Insertion Sort - Part 2 | <ul><li>Java</li><li>C#</li><ul> | O(n^2) | O(1) | Easy | 30 | ||
| Correctness and the Loop Invariant | <ul><li>Java</li><li>C#</li><ul> | O(n^2) | O(1) | Easy | 30 | ||
| Running Time of Algorithms | <ul><li>Java</li><li>C#</li><ul> | O(n^2) | O(1) | Easy | 30 | ||
| Quicksort 1 - Partition | <ul><li>Java</li><li>C#</li><ul> | O(n) | O(n) | Easy | 10 | ||
| Quicksort 2 - Sorting | <ul><li>Java</li><li>C#</li><ul> | O(n^2) | O(n) | Easy | 30 | ||
| Quicksort In-Place | <ul><li>Java</li><ul> | O(n^2) | O(log(n)) | Medium | 35 | ||
| Running Time of Quicksort | <ul><li>Java</li><ul> | O(n log(n)) | O(log(n)) | Easy | 35 | ||
| Counting Sort 1 | <ul><li>Java</li><li>C#</li><ul> | O(n+k) | O(k) | Easy | 30 | value of k in this problem is 100 | |
| Counting Sort 2 | <ul><li>Java</li><li>C#</li><ul> | O(n+k) | O(n+k) | Easy | 30 | Value of k is 100 in this problem. | |
| Counting Sort 3 | <ul><li>Java</li><ul> | O(n+k) | O(k) | Easy | 30 | ||
| The Full Counting Sort | <ul><li>Java</li><li>C#</li><ul> | O(n+k) | O(n+k) | Medium | 40 | ||
| Closest Numbers | <ul><li>Java</li><li>C#</li><ul> | O(n log(n)) | O(n) | Easy | 35 | ||
| Find the Median | <ul><li>Java</li><li>C#</li><ul> | O(n log(n)) | O(n) | Easy | 35 | ||
| Insertion Sort Advanced Analysis | <ul><li>Java</li></ul> | Advanced | 50 | ||||
| Fraudulent Activity Notifications | <ul><li>Java</li><ul> | O(n^2) | O(n) | Medium | 40 | ||
| Lily's Homework | <ul><li>Java</li><ul> | O(n log(n)) | O(n) | Medium | 40 | ||
| Big Sorting | <ul><li>Java</li><li>C#</li><ul> | O(n log(n)) | O(n) | Easy | 20 |
Search
| # | Title | Solution | Time | Space | Difficulty | Points | Note |
|---|---|---|---|---|---|---|---|
| Hackerland Radio Transmitters | <ul><li>JS</li><li>C#</li><ul> | O(n log(n)) | O(n) | Medium | 25 | ||
| Ice Cream Parlor | <ul><li>Java</li><li>C#</li><ul> | O(n) | O(n) | Easy | 30 | ||
| Binary Search: Ice Cream Parlor | <ul><li>Java</li><ul> | O(n) | O(n) | Easy | 35 | ||
| Gridland Metro | <ul><li>Java</li><li>C#</li></ul> | O(k) | O(k) | Medium | 25 | k = number of tracks | |
| Missing Numbers | <ul><li>Java</li> <li>C++</li><li>C#</li><ul> | O(n) | O(n) | Easy | 45 | ||
| Minimum Loss | <ul><li>Java</li><ul> | O(n log(n)) | O(n) | Medium | 35 | ||
| KnightL on a Chessboard | <ul><li>Java</li></ul> | Medium | 35 | ||||
| Pairs | <ul><li>Java</li> <li>C++</li><li>C#</li><ul> | O(n log(n)) | O(n) | Medium | 50 | ||
| Sherlock and Array | <ul><li>Java</li> <li>C++</li><li>C#</li><ul> | O(n) | O(n) | Easy | 40 | ||
| Maximum Subarray Sum | <ul><li>Java</li></ul> | Hard | 65 | ||||
| Connected Cells in a grid | <ul><li>Java</li></ul> | Medium | 50 | ||||
| Short Palindrome | <ul><li>Java</li></ul> | Medium | 40 | ||||
| Maximizing Mission Points | <ul><li>Java</li></ul> | Hard | 70 | ||||
| Count Luck | <ul><li>Java</li></ul> | Medium | 50 | ||||
| Cut the Tree | <ul><li>Java</li></ul> | Medium | 50 | ||||
| Making Candies | <ul><li>Java</li></ul> | Hard | 45 | ||||
| Gena Playing Hanoi | <ul><li>Java</li></ul> | Medium | 50 | ||||
| Beautiful Quadruples | <ul><li>Java</li></ul> | Medium | 50 | ||||
| Bike Racers | <ul><li>Java</li></ul> | Hard | 65 | ||||
| Task Scheduling | <ul><li>Java</li></ul> | Advanced | 70 | ||||
| Similar Pair | <ul><li>Java</li></ul> | Advanced | 70 | ||||
| Absolute Element Sums | <ul><li>Java</li></ul> | Hard | 70 | ||||
| Sorted Subsegments | <ul><li>Java</li></ul> | Hard | 80 | ||||
| Distant Pairs | <ul><li>Java</li></ul> | Expert | 80 | ||||
| King Richard's Knights | <ul><li>Java</li></ul> | Hard | 80 |
Graph Theory
| # | Title | Solution | Time | Space | Difficulty | Points | Note |
|---|---|---|---|---|---|---|---|
| Roads and Libraries | <ul><li>Java</li></ul> | Medium | 30 | ||||
| Synchronous Shopping | <ul><li>Java</li></ul> | Medium | 40 | ||||
| Crab Graphs | <ul><li>Java</li></ul> | Medium | 50 | ||||
| Even Tree | <ul><li>Java</li></ul> | Medium | 50 | ||||
| Snakes and Ladders: The Quickest Way Up | <ul><li>Java</li></ul> | Medium | 50 | ||||
| Subset Component | <ul><li>Java</li></ul> | Hard | 50 | ||||
| Journey to the Moon | <ul><li>Java</li> <li>Python3</li><ul> | O(n + i) | O(n) | Medium | 50 | ||
| Kruskal (MST): Really Special Subtree | <ul><li>Java</li></ul> | Hard | 50 | ||||
| Minimum Penalty Path | <ul><li>Java</li></ul> | Medium | 50 | ||||
| Demanding Money | <ul><li>Java</li></ul> | Hard | 50 | ||||
| The Story of a Tree | <ul><li>Java</li></ul> | Medium | 50 | ||||
| Breadth First Search: Shortest Reach | <ul><li>Java</li></ul> | Medium | 55 | ||||
| The Value of Friendship | <ul><li>Java</li></ul> | Hard | 55 | ||||
| Clique | <ul><li>Java</li></ul> | Medium | 60 | ||||
| Dijkstra: Shortest Reach 2 | <ul><li>Java</li></ul> | Hard | 60 | ||||
| Prim's (MST) : Special Subtree | <ul><li>Java</li></ul> | Medium | 60 | ||||
| Roads in Hackerland | <ul><li>Java</li></ul> | Medium | 60 | ||||
| Toll Cost Digits | <ul><li>Java</li></ul> | Hard | 60 | ||||
| Real Estate Broker | <ul><li>Java</li></ul> | Hard | 60 | ||||
| Matrix | <ul><li>Java</li></ul> | Hard | 70 | ||||
| Bead Ornaments | <ul><li>Java</li></ul> | Advanced | 70 | ||||
| Rust & Murderer | <ul><li>Java</li><ul> | O(n+m) | O(n) | Medium | 70 | ||
| Recording Episodes | <ul><li>Java</li></ul> | Hard | 70 | ||||
| Kingdom Connectivity | <ul><li>Java</li></ul> | Hard | 75 | ||||
| Journey Scheduling | <ul><li>Java</li></ul> | Hard | 75 | ||||
| Floyd : City of Blinding Lights | <ul><li>Java</li></ul> | Hard | 75 | ||||
| Find the Path | <ul><li>Java</li></ul> | Hard | 75 | ||||
| Repair Roads | <ul><li>Java</li></ul> | Hard | 80 | ||||
| Problem solving | <ul><li>Java</li></ul> | Hard | 80 | ||||
| Computer Game | <ul><li>Java</li></ul> | Hard | 80 | ||||
| Jack goes to Rapture | <ul><li>Java</li></ul> | Medium | 80 | ||||
| Jim and his LAN Party | <ul><li>Java</li></ul> | Hard | 80 | ||||
| Jeanie's Route | <ul><li>Java</li></ul> | Medium | 80 | ||||
| Travel in HackerLand | <ul><li>Java</li></ul> | Hard | 80 | ||||
| Jogging Cats | <ul><li>Java</li></ul> | Advanced | 80 | ||||
| Tree Flow | <ul><li>Java</li></ul> | Hard | 80 | ||||
| Tripartite Matching | <ul><li>Java</li></ul> | Hard | 80 | ||||
| Jumping Rooks | <ul><li>Java</li></ul> | Advanced | 80 | ||||
| Minimum MST Graph | <ul><li>Java</li></ul> | Expert | 80 | ||||
| Coprime Paths | <ul><li>Java</li></ul> | Expert | 80 | ||||
| DAG Queries | <ul><li>Java</li></ul> | Expert | 80 | ||||
| Liars | <ul><li>Java</li></ul> | Advanced | 85 | ||||
| ByteLandianTours | <ul><li>Java</li></ul> | Hard | 90 | ||||
| Kth Ancestor | <ul><li>Java</li></ul> | Hard | 90 | ||||
| Drive | <ul><li>Java</li></ul> | Expert | 90 | ||||
| Road Network | <ul><li>Java</li></ul> | Expert | 90 | ||||
| Savita And Friends | <ul><li>Java</li></ul> | Hard | 90 | ||||
| Favorite sequence | <ul><li>Java</li></ul> | Advanced | 95 | ||||
| Quadrant Queries | <ul><li>Java</li></ul> | Advanced | 100 | ||||
| Going to the Office | <ul><li>Java</li></ul> | Expert | 100 | ||||
| Ticket | <ul><li>Java</li></ul> | Expert | 100 | ||||
| HackerX | <ul><li>Java</li></ul> | Hard | 100 | ||||
| Hacker Country | <ul><li>Java</li></ul> | Hard | 100 | ||||
| Travelling Salesman in a Grid | <ul><li>Java</li></ul> | Expert | 100 | ||||
| Huarongdao | <ul><li>Java</li></ul> | Expert | 100 | ||||
| Vertical Paths | <ul><li>Java</li></ul> | Expert | 100 | ||||
| DFS Edges | <ul><li>Java</li></ul> | Expert | 100 | ||||
| Tree Splitting | <ul><li>Java</li></ul> | Advanced | 100 | ||||
| Definite Random Walks | <ul><li>Java</li></ul> | Expert | 100 | ||||
| Diameter Minimization | <ul><li>Java</li></ul> | Expert | 100 | ||||
| Training the army | <ul><li>Java</li></ul> | Hard | 120 | ||||
| Alex vs Fedor | <ul><li>Java</li></ul> | Expert | 150 |
Greedy
| # | Title | Solution | Time | Space | Difficulty | Points | Note |
|---|---|---|---|---|---|---|---|
| Minimum Absolute Difference in an Array | <ul><li>Java</li> <li>JS</li><li>C#</li><ul> | O(n log(n)) | O(n) | Easy | 15 | ||
| Chief Hopper | <ul><li>Java</li><ul> | O(n) | O(n) | Hard | 65 | ||
| Mark and Toys | <ul><li>Java</li> <li>JS</li><ul> | O(n log(n)) | O(n) | Easy | 35 | ||
| Marc's Cakewalk | <ul><li>Java</li><li>C#</li><ul> | O(n + k) | O(k) | Easy | 15 | ||
| Grid Challenge | <ul><li>Java</li><ul> | O(n*(n log (n))) | O(n^2) | Easy | 20 | ||
| Luck Balance | <ul><li>Java</li><ul> | O(n log(n)) | O(1) | Easy | 20 | ||
| Maximum Perimeter Triangle | <ul><li>Java</li><ul> | O(n log (n)) | O(n) | Easy | 20 | ||
| Permuting Two Arrays | <ul><li>Java</li> <li>JS</li><ul> | O(n log (n)) | O(n) | Easy | 40 | ||
| Jim and the Orders | <ul><li>Java</li><ul> | O(n log (n)) | O(n) | Easy | 40 | ||
| Equal Stacks | <ul><li>Java</li><ul> | O(n) | O(n) | Easy | 25 | ||
| Sherlock and The Beast | <ul><li>Java</li><ul> | O(n) | O(n) | Easy | 30 | ||
| Priyanka and Toys | <ul><li>Java</li> <li>JS</li><ul> | O(n log(n)) | O(n) | Easy | 30 | ||
| Largest Permutation | <ul><li>JS</li><ul> | O(n) | O(n) | Easy | 30 | ||
| Beautiful Pairs | <ul><li>Java</li></ul> | Easy | 30 | ||||
| Yet Another Minimax Problem | <ul><li>Java</li></ul> | Medium | 20 | ||||
| Flipping the Matrix | <ul><li>Java</li><ul> | O(n^2) | O(n^2) | Medium | 30 | ||
| Roads and Libraries | <ul><li>Java</li></ul> | Medium | 30 | ||||
| Greedy Florist | <ul><li>JS</li><ul> | O(n log (n)) | O(n) | Medium | 35 | ||
| Mark and Toys | <ul><li>Java</li><ul> | O(n log(n)) | O(n) | Easy | 35 | ||
| Max Min | <ul><li>Java</li><ul> | O(n log(n)) | O(1) | Medium | 35 | ||
| Permuting Two Arrays | <ul><li>Java</li></ul> | Easy | 40 | ||||
| Jim and the Orders | <ul><li>Java</li></ul> | Easy | 40 | ||||
| Goodland Electricity | <ul><li>Java</li></ul> | Medium | 40 | ||||
| Fun Game | <ul><li>Java</li></ul> | Medium | 40 | ||||
| Reverse Shuffle Merge | <ul><li>Java</li></ul> | Advanced | 50 | ||||
| Cutting Boards | <ul><li>Java</li></ul> | Hard | 60 | ||||
| Algorithmic Crush | <ul><li>Java</li></ul> | Hard | 60 | ||||
| Prim's (MST): Special Subtree | <ul><li>Java</li></ul> | Medium | 60 | ||||
| Accessory Collection | <ul><li>Java</li></ul> | Hard | 60 | ||||
| Chief Hopper | <ul><li>Java</li><ul> | O(n) | O(n) | Hard | 65 | ||
| Sherlock and MiniMax | <ul><li>Java</li></ul> | Hard | 70 | ||||
| Team Formation | <ul><li>Java</li></ul> | Advanced | 70 |
Dynamic Programming
| # | Title | Solution | Time | Space | Difficulty | Points | Note |
|---|---|---|---|---|---|---|---|
| Equal | <ul><li>Java</li></ul> | Medium | 30 | ||||
| Cut Tree | <ul><li>Java</li></ul> | Medium | 40 | ||||
| Mr K marsh | <ul><li>Java</li></ul> | Medium | 40 | ||||
| Sam and sub-strings | <ul><li>Java</li></ul> | Medium | 40 | ||||
| Summing Pieces | <ul><li>Java</li></ul> | Medium | 40 | ||||
| Short Palindrome | <ul><li>Java</li></ul> | Medium | 40 | ||||
| Abbreviation | <ul><li>Java</li></ul> | Medium | 40 | ||||
| Fair Cut | <ul><li>Java</li></ul> | Medium | 40 | ||||
| Fibonacci Modified | <ul><li>Java</li><ul> | Medium | 45 | ||||
| Lego Blocks | <ul><li>Java</li></ul> | Medium | 50 | ||||
| Candies | <ul><li>Java</li></ul> | Medium | 50 | ||||
| Stock Maximize | <ul><li>Java</li></ul> | Medium | 50 | ||||
| Angry Childtren 2 | <ul><li>Java</li></ul> | Hard | 50 | ||||
| The Maximum Subarray | <ul><li>Java</li></ul> | Medium | 50 | ||||
| Sherlock and Cost | <ul><li>Java</li></ul> | Medium | 50 | ||||
| Xor and Sum | <ul><li>Java</li></ul> | Medium | 50 | ||||
| Counting Special Sub-Cubes | <ul><li>Java</li></ul> | Medium | 50 | ||||
| Two Robots | <ul><li>Java</li></ul> | Medium | 50 | ||||
| Kingdom Division | <ul><li>Java</li></ul> | Medium | 50 | ||||
| Prime XOR | <ul><li>Java</li></ul> | Medium | 50 | ||||
| HackerRank City | <ul><li>Java</li></ul> | Medium | 50 | ||||
| Nikita and the Game | <ul><li>Java</li></ul> | Medium | 50 | ||||
| Prime Digit Sums | <ul><li>Java</li></ul> | Medium | 50 | ||||
| Mandragora Forest | <ul><li>Java</li></ul> | Medium | 50 | ||||
| LCS Returns | <ul><li>Java</li></ul> | Medium | 50 | ||||
| Grid Walking | <ul><li>Java</li></ul> | Medium | 55 | ||||
| Bricks Game | <ul><li>Java</li></ul> | Medium | 55 | ||||
| The Longest Common Subsequence | <ul><li>Java</li></ul> | Medium | 55 | ||||
| Substring Diff | <ul><li>Java</li></ul> | Medium | 60 | ||||
| Brick Tiling | <ul><li>Java</li></ul> | Hard | 60 | ||||
| Alien Languages | <ul><li>Java</li></ul> | Hard | 60 | ||||
| The Longest Increasing Subsequence | <ul><li>Java</li></ul> | Advanced | 60 | ||||
| The Coin Change Problem | <ul><li>Python3</li><ul> | O(N*M) | O(N) | Hard | 60 | ||
| Knapsack | <ul><li>Java</li></ul> | Medium | 60 | ||||
| Sherlock's Array Merging Algorithm | <ul><li>Java</li></ul> | Hard | 60 | ||||
| New Year Game | <ul><li>Java</li></ul> | Medium | 60 | ||||
| Shashank and the Palindromic Strings | <ul><li>Java</li></ul> | Advanced | 60 | ||||
| Decibinary Numbers | <ul><li>Java</li></ul> | Hard | 60 | ||||
| Choosing White Balls | <ul><li>Java</li></ul> | Hard | 60 | ||||
| DP: Coin Change | <ul><li>Java</li></ul> | Hard | 60 | ||||
| Clues on a Binary Path | <ul><li>Java</li></ul> | Hard | 60 | ||||
| GCD Matrix | <ul><li>Java</li></ul> | Hard | 60 | ||||
| Coin on the Table | <ul><li>Java</li></ul> | Medium | 65 | ||||
| Interval Selection | <ul><li>Java</li></ul> | Medium | 65 | ||||
| Red John is Back | <ul><li>Java</li></ul> | Medium | 65 | ||||
| Play with words | <ul><li>Java</li></ul> | Medium | 65 | ||||
| Queens on Board | <ul><li>Java</li></ul> | Hard | 70 | ||||
| String Reduction | <ul><li>Java</li></ul> | Hard | 70 | ||||
| Far Vertices | <ul><li>Java</li></ul> | Hard | 70 | ||||
| The Indian Job | <ul><li>Java</li></ul> | Medium | 70 | ||||
| Hexagonal Grid | <ul><li>Java</li></ul> | Hard | 70 | ||||
| Longest Palindromic Subsequence | <ul><li>Java</li></ul> | Hard | 70 | ||||
| Turn Off the Lights | <ul><li>Java</li></ul> | Hard | 70 | ||||
| Tara's Beautiful Permutations | <ul><li>Java</li></ul> | Hard | 70 | ||||
| Two Subarrays | <ul><li>Java</li></ul> | Expert | 70 | ||||
| Mining | <ul><li>Java</li></ul> | Advanced | 75 | ||||
| The Longest Common Subsequence (LCS) | <ul><li>Java</li></ul> | Hard | 75 | ||||
| Points in a Plane | <ul><li>Java</li></ul> | Advanced | 80 | ||||
| Fairy Chess | <ul><li>Java</li></ul> | Advanced | 80 | ||||
| Billboards | <ul><li>Java</li></ul> | Advanced | 80 | ||||
| Requirement | <ul><li>Java</li></ul> | Advanced | 80 | ||||
| A Super Hero | <ul><li>Java</li></ul> | Hard | 80 | ||||
| Covering the stains | <ul><li>Java</li></ul> | Hard | 80 | ||||
| Superman Celebrates Diwali | <ul><li>Java</li></ul> | Hard | 80 | ||||
| Wet Shark and Two Subsequences | <ul><li>Java</li></ul> | Medium | 80 | ||||
| Zurikela's Graph | <ul><li>Java</li></ul> | Hard | 80 | ||||
| New Year Present | <ul><li>Java</li></ul> | Hard | 80 | ||||
| Suffix Rotation | <ul><li>Java</li></ul> | Expert | 80 | ||||
| Black and White Tree | <ul><li>Java</li></ul> | Hard | 80 | ||||
| Beautiful Strings | <ul><li>Java</li></ul> | Hard | 80 | ||||
| Longest Mod Path | <ul><li>Java</li></ul> | Hard | 80 | ||||
| Super Functional Strings | <ul><li>Java</li></ul> | Advanced | 80 | ||||
| Kitty's Calculations on a Tree | <ul><li>Java</li></ul> | Advanced | 80 | ||||
| Liars | <ul><li>Java</li></ul> | Advanced | 85 | ||||
| Dorsey Thief | <ul><li>Java</li></ul> | Advanced | 85 | ||||
| Swap Permutation | <ul><li>Java</li></ul> | Medium | 85 | ||||
| Candles Counting | <ul><li>Java</li></ul> | Medium | 85 | ||||
| Square Subsequences | <ul><li>Java</li></ul> | Hard | 90 | ||||
| Hyper Strings | <ul><li>Java</li></ul> | Advanced | 90 | ||||
| Unique Divide And Conquer | <ul><li>Java</li></ul> | Advanced | 90 | ||||
| Super Kth LIS | <ul><li>Java</li></ul> | Advanced | 90 | ||||
| Counting Road Networks | <ul><li>Java</li></ul> | Expert | 90 | ||||
| Lucky Numbers | <ul><li>Java</li></ul> | Expert | 100 | ||||
| Count Scorecards | <ul><li>Java</li></ul> | Expert | 100 | ||||
| Unfair Game | <ul><li>Java</li></ul> | Advanced | 100 | ||||
| Oil Well | <ul><li>Java</li></ul> | Hard | 100 | ||||
| Modify The Sequence | <ul><li>Java</li></ul> | Advanced | 100 | ||||
| Divisible Numbers | <ul><li>Java</li></ul> | Expert | 100 | ||||
| Ones and Twos | <ul><li>Java</li></ul> | Hard | 100 | ||||
| Extremum Permutations | <ul><li>Java</li></ul> | Medium | 100 | ||||
| Tree Pruning | <ul><li>Java</li></ul> | Advanced | 100 | ||||
| P-sequences | <ul><li>Java</li></ul> | Hard | 100 | ||||
| Best spot | <ul><li>Java</li></ul> | Advanced | 100 | ||||
| Find the Seed | <ul><li>Java</li></ul> | Advanced | 100 | ||||
| The Blacklist | <ul><li>Java</li></ul> | Advanced | 100 | ||||
| Police Operation | <ul><li>Java</li></ul> | Hard | 100 | ||||
| Road Maintenance | <ul><li>Java</li></ul> | Hard | 100 | ||||
| King and Four Sons | <ul><li>Java</li></ul> | Expert | 100 | ||||
| Counting the Ways | <ul><li>Java</li></ul> | Expert | 100 | ||||
| Hard Disk Drives | <ul><li>Java</li></ul> | Expert | 100 | ||||
| Travel around the world | <ul><li>Java</li></ul> | Medium | 120 | ||||
| Robot | <ul><li>Java</li></ul> | Advanced | 120 | ||||
| Vim War | <ul><li>Java</li></ul> | Advanced | 120 | ||||
| Dortmund Dilemma | <ul><li>Java</li></ul> | Advanced | 150 | ||||
| Separate the chocolate | <ul><li>Java</li></ul> | Expert | 250 |
Constructive Algorithms
| # | Title | Solution | Time | Space | Difficulty | Points | Note |
|---|---|---|---|---|---|---|---|
| Lena Sort | <ul><li>Java</li></ul> | Medium | 30 | ||||
| Flipping the Matrix | <ul><li>Java</li><ul> | O(n^2) | O(n^2) | Medium | 30 | ||
| Gaming Array | <ul><li>Java</li></ul> | Medium | 35 | ||||
| New Year Chaos | <ul><li>Java</li></ul> | Medium | 40 | ||||
| Bonetrousle | <ul><li>Java</li></ul> | Medium | 50 | ||||
| Yet Another KMP Problem | <ul><li>Java</li></ul> | Hard | 60 | ||||
| Beautiful 3 Set | <ul><li>Java</li></ul> | Hard | 60 | ||||
| Inverse RMQ | <ul><li>Java</li></ul> | Hard | 60 | ||||
| Two Subarrays | <ul><li>Java</li></ul> | Expert | 70 | ||||
| Lovely Triplets | <ul><li>Java</li></ul> | Advanced | 80 | ||||
| Array Construction | <ul><li>Java</li></ul> | Advanced | 80 |
Bit Manipulation
| # | Title | Solution | Time | Space | Difficulty | Points | Note |
|---|---|---|---|---|---|---|---|
| Lonely Integer | <ul><li>Java</li><ul> | O(n) | O(1) | Easy | 20 | ||
| Maximizing XOR | <ul><li>Java</li></ul> | Easy | 30 | ||||
| Counter game | <ul><li>Java</li></ul> | Medium | 30 | ||||
| Xor-sequence | <ul><li>Java</li></ul> | Medium | 40 | ||||
| Sum vs XOR | <ul><li>Java</li><ul> | O(n log(n)) | O(1) | Easy | 20 | ||
| The Great XOR | <ul><li>Java</li></ul> | Medium | 25 | ||||
| Flipping bits | <ul><li>Java</li></ul> | Easy | 40 | ||||
| Yet Another Minimax Problem | <ul><li>Java</li></ul> | Medium | 30 | ||||
| Sansa and XOR | <ul><li>Java</li></ul> | Medium | 30 | ||||
| AND Product | <ul><li>Java</li></ul> | Medium | 40 | ||||
| Xoring Ninja | <ul><li>Java</li></ul> | Hard | 55 | ||||
| Cipher | <ul><li>Java</li></ul> | Medium | 50 | ||||
| XOR Matrix | <ul><li>Java</li></ul> | Hard | 50 | ||||
| What's Next? | <ul><li>Java</li></ul> | Medium | 50 | ||||
| String Transmission | <ul><li>Java</li></ul> | Hard | 60 | ||||
| A or B | <ul><li>Java</li></ul> | Medium | 50 | ||||
| Manipulative Numbers | <ul><li>Java</li></ul> | Hard | 55 | ||||
| Stone game | <ul><li>Java</li></ul> | Hard | 70 | ||||
| 2's complement | <ul><li>Java</li></ul> | Advanced | 70 | ||||
| Changing Bits | <ul><li>Java</li></ul> | Advanced | 70 | ||||
| XOR key | <ul><li>Java</li></ul> | Advanced | 80 | ||||
| Maximizing the Function | <ul><li>Java</li></ul> | Hard | 70 | ||||
| XOR Subsequences | <ul><li>Java</li></ul> | Advanced | 80 | ||||
| Iterate It | <ul><li>Java</li></ul> | Expert | 90 | ||||
| Hamming Distance | <ul><li>Java</li></ul> | Expert | 150 | ||||
| Mixing proteins | <ul><li>Java</li></ul> | Hard | 80 |
Recursion
| # | Title | Solution | Time | Space | Difficulty | Points | Note |
|---|---|---|---|---|---|---|---|
| The Power Sum | <ul><li>Java</li></ul> | Easy | 20 | ||||
| Crossword Puzzle | <ul><li>Java</li></ul> | Medium | 30 | ||||
| Recursive Digit Sum | <ul><li>Java</li></ul> | Medium | 30 | ||||
| Simplified Chess Engine | <ul><li>Java</li></ul> | Medium | 40 | ||||
| Password Cracker | <ul><li>Java</li></ul> | Medium | 40 | ||||
| Artithmetic Expressions | <ul><li>Java</li></ul> | Hard | 40 | ||||
| K Factorization | <ul><li>Java</li></ul> | Hard | 50 | ||||
| Bowling Pins | <ul><li>Java</li></ul> | Advanced | 60 | ||||
| Simplified Chess Engine II | <ul><li>Java</li></ul> | Hard | 60 | ||||
| Repetitive K-Sums | <ul><li>Java</li></ul> | Advanced | 150 |
Game Theory
| # | Title | Solution | Time | Space | Difficulty | Points | Note |
|---|---|---|---|---|---|---|---|
| Game of Stones | <ul><li>JS</li><ul> | O(n) | O(1) | Easy | 15 | ||
| Tower Breakers | <ul><li>Java</li></ul> | Easy | 15 | ||||
| A Chessboard Game | <ul><li>Java</li></ul> | Easy | 15 | ||||
| Introduction to Nim Game | <ul><li>Java</li></ul> | Easy | 15 | ||||
| Misère Nim | <ul><li>Java</li></ul> | Easy | 20 | ||||
| Nimble Game | <ul><li>Java</li></ul> | Easy | 20 | ||||
| Alice and Bob's Silly Game | <ul><li>Java</li></ul> | Medium | 30 | ||||
| Poker Nim | <ul><li>Java</li></ul> | Easy | 20 | ||||
| Tower Breakers, Revisited! | <ul><li>Java</li></ul> | Medium | 25 | ||||
| Tower Breakers, Again! | <ul><li>Java</li></ul> | Medium | 30 | ||||
| Zero-Move Nim | <ul><li>Java</li></ul> | Medium | 50 | ||||
| Chessboard Game, Again! | <ul><li>Java</li></ul> | Medium | 30 | ||||
| Digits Square Board | <ul><li>Java</li></ul> | Medium | 35 | ||||
| Fun Game | <ul><li>Java</li></ul> | Medium | 40 | ||||
| Stone Division | <ul><li>Java</li></ul> | Hard | 50 | ||||
| Chocolate in Box | <ul><li>Java</li></ul> | Medium | 70 | ||||
| Kitty and Katty | <ul><li>Java</li></ul> | Medium | 80 | ||||
| Powers Game | <ul><li>Java</li></ul> | Medium | 50 | ||||
| Deforestation | <ul><li>Java</li></ul> | Medium | 50 | ||||
| Bob and Ben | <ul><li>Java</li></ul> | Medium | 50 | ||||
| Tower Breakers - The Final Battle | <ul><li>Java</li></ul> | Medium | 50 | ||||
| Simple Game | <ul><li>Java</li></ul> | Hard | 60 | ||||
| Permutation game | <ul><li>Java</li></ul> | Medium | 70 | ||||
| Move the Coins | <ul><li>Java</li></ul> | Hard | 60 | ||||
| Play on benders | <ul><li>Java</li></ul> | Medium | 70 | ||||
| New Year Game | <ul><li>Java</li></ul> | Medium | 60 | ||||
| Stone Piles | <ul><li>Java</li></ul> | Hard | 80 | ||||
| Chocolate Game | <ul><li>Java</li></ul> | Hard | 90 | ||||
| Manasa and Prime game | <ul><li>Java</li></ul> | Hard | 90 | ||||
| Vertical Rooks | <ul><li>Java</li></ul> | Medium | 90 | ||||
| A stones game | <ul><li>Java</li></ul> | Medium | 90 | ||||
| Tastes Like Winning | <ul><li>Java</li></ul> | Expert | 100 |
NP Complete
| # | Title | Solution | Time | Space | Difficulty | Points | Note |
|---|---|---|---|---|---|---|---|
| Walking the Approximate Longest Path | <ul><li>Java</li></ul> | Hard | 70 | ||||
| Sam's Puzzle (Approximate) | <ul><li>Java</li></ul> | Advanced | 85 | ||||
| Spies, Revised | <ul><li>Java</li></ul> | Expert | 100 | ||||
| TBS Problem | <ul><li>Java</li></ul> | Expert | 100 |
Object Oriented Programming
| # | Title | Solution | Time | Space | Difficulty | Points | Note |
|---|---|---|---|---|---|---|---|
| Class vs. Instance | <ul><li>Java</li><ul> | N/A | N/A | Easy | 30 | ||
| Inheritance | <ul><li>Java</li><ul> | O(n) | O(1) | Easy | 30 | ||
| Abstract Classes | <ul><li>Java</li><ul> | N/A | N/A | Easy | 30 | ||
| Complex Numbers | <ul><li>Java</li><ul> | O(1) | O(1) | Easy | 30 |
Arrays
| # | Title | Solution | Time | Space | Difficulty | Points | Note |
|---|---|---|---|---|---|---|---|
| Arrays - DS | <ul><li>C++</li><ul> | O(n) | O(n) | Easy | 10 | ||
| 2D Array - DS | <ul><li>C++</li><ul> | O(1) | O(1) | Easy | 15 | ||
| Sparse Arrays | <ul><li>C#</li><ul> | O(n + q) | O(n + q) | Medium | 25 | n = number of input strings, q = number of queries | |
| Dynamic Array | <ul><li>C#</li><ul> | O(q) | O(n) | Easy | 15 | q = Number of queries |
Linked Lists
| # | Title | Solution | Time | Space | Difficulty | Points | Note |
|---|---|---|---|---|---|---|---|
| Print the Elements of a Linked List | <ul><li>C++</li><ul> | O(n) | O(1) | Easy | 5 | ||
| Reverse a Linked List | <ul><li>Java</li><ul> | O(n) | O(1) | Easy | 5 | ||
| Compare Two Linked Lists | <ul><li>C++</li><ul> | O(n) | O(1) | Easy | 5 | ||
| Delete a node | <ul><li>C++</li><ul> | O(n) | O(1) | Easy | 5 |
Trees
| # | Title | Solution | Time | Space | Difficulty | Points | Note |
|---|---|---|---|---|---|---|---|
| Tree: Preorder Traversal | <ul><li>C++</li><ul> | O(n) | O(n) | Easy | 10 | ||
| Swap Nodes [Algo] | <ul><li>C#</li><ul> | O(n) | O(n) | Medium | 40 |
Balanced Trees
| # | Title | Solution | Time | Space | Difficulty | Points | Note |
|---|---|---|---|---|---|---|---|
| Self Balancing Tree | <ul><li>C++</li><ul> | O(log(n)) | O(n) | Medium | 50 |
Stacks
| # | Title | Solution | Time | Space | Difficulty | Points | Note |
|---|---|---|---|---|---|---|---|
| Maximum Element | <ul><li>C++</li><ul> | Push-O(1), Delete - O(n), Print - O(1) | Push - O(1), Delete - O(1), Print - O(1) | Easy | 20 | ||
| Balanced Brackets | <ul><li>Java</li><ul> | O(n) | O(n) | Medium | 25 |
Queues
| # | Title | Solution | Time | Space | Difficulty | Points | Note |
|---|---|---|---|---|---|---|---|
| Queue using Two Stacks | <ul><li>C#</li><ul> | Enqueue - O(1), Dequeue - O(n), Print - O(n) | Enqueue - O(1), Dequeue - O(1), Print - O(1) | Medium | 30 |
Heap
| # | Title | Solution | Time | Space | Difficulty | Points | Note |
|---|---|---|---|---|---|---|---|
| QHEAP1 | <ul><li>C#</li><ul> | Insert - O(log(n)), Delete - O(n), Print - O(1) | Insert - O(1), Delete - O(1), Print - O(1) | Easy | 25 |
Disjoint Set
| # | Title | Solution | Time | Space | Difficulty | Points | Note |
|---|---|---|---|---|---|---|---|
| Spaceholder | <ul><li>C#</li><ul> | O(1) | O(1) | Easy | 1 |
Multiple Choice
| # | Title | Solution | Time | Space | Difficulty | Points | Note |
|---|---|---|---|---|---|---|---|
| Data Structures MCQ 1 | <ul><li>Language Independent</li><ul> | NA | NA | Hard | 5 | ||
| Data Structures MCQ 2 | <ul><li>Language Independent</li><ul> | NA | NA | Hard | 5 | ||
| Data Structures MCQ 3 | <ul><li>Language Independent</li><ul> | NA | NA | Hard | 5 |
Trie
| # | Title | Solution | Time | Space | Difficulty | Points | Note |
|---|---|---|---|---|---|---|---|
| Contacts | <ul><li>C#</li><ul> | Add - O(L), Find - O(L) | Add - O(L), Find - O(1) | Medium | 40 | L = Length of a contact name |
Advanced
| # | Title | Solution | Time | Space | Difficulty | Points | Note |
|---|---|---|---|---|---|---|---|
| Spaceholder | <ul><li>C#</li><ul> | O(1) | O(1) | Easy | 1 |
Fundamentals
| # | Title | Solution | Time | Space | Difficulty | Points | Note |
|---|---|---|---|---|---|---|---|
| Leonardo's Prime Factors | <ul><li>C#</li><ul> | O(1) | O(1) | Easy | 10 |
Contributors
Showing top 9 contributors by commit count.
This article is auto-generated from RyanFehr/HackerRank via the GitHub API.Last fetched: 6/13/2026
