From 3a6797a94a2c1fa067c5b14d4225d5760dfafd44 Mon Sep 17 00:00:00 2001 From: rshaghoulian <9rodney@gmail.com> Date: Sun, 5 Mar 2017 00:26:42 -0600 Subject: [PATCH] Added 27 solutions --- 10 Days of Statistics/README.md | 52 +- .../Day 12 - Inheritance/Solution.java | 15 +- 30 Days of Code/Day 14 - Scope/Solution.java | 14 +- .../Solution.java | 2 +- .../Solution.java | 61 ++ .../Day 24 - More Linked Lists/Solution.java | 67 ++ .../Solution.java | 31 + .../Day 26 - Nested Logic/Solution.java | 36 + .../Day 27 - Testing/Solution.java | 24 + 30 Days of Code/README.md | 57 +- .../Lonely Integer/Solution.java | 35 + .../Solution.java | 92 ++ .../Angry Professor/Solution.java | 24 + .../Apple and Orange/Solution.java | 43 + .../Circular Array Rotation/Solution.java | 0 .../Designer PDF Viewer/Solution.java | 30 + .../Grading Students/Solution.java | 27 + Algorithms/README.md | 376 +++++++- .../Connected Cells in a Grid/Solution.java | 72 ++ .../Search/Ice Cream Parlor/Solution.java | 46 + .../Solution.java | 20 + Algorithms/Strings/CamelCase/Solution.java | 26 + .../Strings/Making Anagrams/Solution.java | 42 + .../Super Reduced String/Solution.java | 38 + .../Mini-Max Sum/Solution.java | 0 Cracking the Coding Interview/README.md | 38 +- .../Solution.java | 17 +- Data Structures/README.md | 212 ++--- .../Solution.java | 27 + .../Trees/Square-Ten Tree/Solution.java | 253 +++++ .../Trees/Swap Nodes [Algo]/Solution.java | 70 ++ .../Tree - Huffman Decoding/Solution.java | 22 + .../Covariant Return Types/Solution.java | 57 ++ Java/Advanced/Java Annotations/Solution.java | 64 ++ .../Java Lambda Expressions/Solution.java | 73 ++ Java/Advanced/Java MDS/Solution.java | 26 + Java/Advanced/Java SHA-256/Solution.java | 26 + .../Java Visitor Pattern/Solution.java | 242 +++++ .../Java Comparator/Solution.java | 2 +- .../Java Date and Time/Solution.java | 1 - .../Calculating Volume/Solution.java | 60 +- Java/README.md | 128 +-- README.md | 873 ++++++++++++------ 43 files changed, 2823 insertions(+), 598 deletions(-) create mode 100644 30 Days of Code/Day 23 - BST Level-Order Traversal/Solution.java create mode 100644 30 Days of Code/Day 24 - More Linked Lists/Solution.java create mode 100644 30 Days of Code/Day 25 - Running Time and Complexity/Solution.java create mode 100644 30 Days of Code/Day 26 - Nested Logic/Solution.java create mode 100644 30 Days of Code/Day 27 - Testing/Solution.java create mode 100644 Algorithms/Bit Manipulation/Lonely Integer/Solution.java create mode 100644 Algorithms/Graph Theory/Breadth First Search - Shortest Reach/Solution.java create mode 100644 Algorithms/Implementation/Angry Professor/Solution.java create mode 100644 Algorithms/Implementation/Apple and Orange/Solution.java rename Algorithms/{Warmup => Implementation}/Circular Array Rotation/Solution.java (100%) create mode 100644 Algorithms/Implementation/Designer PDF Viewer/Solution.java create mode 100644 Algorithms/Implementation/Grading Students/Solution.java create mode 100644 Algorithms/Search/Connected Cells in a Grid/Solution.java create mode 100644 Algorithms/Search/Ice Cream Parlor/Solution.java create mode 100644 Algorithms/Sorting/Intro to Tutorial Challenges/Solution.java create mode 100644 Algorithms/Strings/CamelCase/Solution.java create mode 100644 Algorithms/Strings/Making Anagrams/Solution.java create mode 100644 Algorithms/Strings/Super Reduced String/Solution.java rename Algorithms/{Implementation => Warmup}/Mini-Max Sum/Solution.java (100%) create mode 100644 Data Structures/Trees/Binary Search Tree - Lowest Common Ancestor/Solution.java create mode 100644 Data Structures/Trees/Square-Ten Tree/Solution.java create mode 100644 Data Structures/Trees/Swap Nodes [Algo]/Solution.java create mode 100644 Data Structures/Trees/Tree - Huffman Decoding/Solution.java create mode 100644 Java/Advanced/Covariant Return Types/Solution.java create mode 100644 Java/Advanced/Java Annotations/Solution.java create mode 100644 Java/Advanced/Java Lambda Expressions/Solution.java create mode 100644 Java/Advanced/Java MDS/Solution.java create mode 100644 Java/Advanced/Java SHA-256/Solution.java create mode 100644 Java/Advanced/Java Visitor Pattern/Solution.java diff --git a/10 Days of Statistics/README.md b/10 Days of Statistics/README.md index e44cfc8..e4287f5 100644 --- a/10 Days of Statistics/README.md +++ b/10 Days of Statistics/README.md @@ -2,30 +2,30 @@ | Domain | Subdomain | Day | Challenge | Difficulty | Solution | |:---------:|:---------------------:|:---:|:--------------------------------------------------------------------------------------------------------------------------:|:---------------:|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:| -| Tutorials | 10 Days of Statistics | 0 | [Mean, Median, and Mode](https://www.hackerrank.com/challenges/s10-basic-statistics) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%200%20-%20Mean%2C%20Median%2C%20and%20Mode/Solution.java) | -| Tutorials | 10 Days of Statistics | 0 | [Weighted Mean](https://www.hackerrank.com/challenges/s10-weighted-mean) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%200%20-%20Weighted%20Mean/Solution.java) | -| Tutorials | 10 Days of Statistics | 1 | [Quartiles](https://www.hackerrank.com/challenges/s10-quartiles) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%201%20-%20Quartiles/Solution.java) | -| Tutorials | 10 Days of Statistics | 1 | [Interquartile Range](https://www.hackerrank.com/challenges/s10-interquartile-range) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%201%20-%20Interquartile%20Range/Solution.java) | -| Tutorials | 10 Days of Statistics | 1 | [Standard Deviation](https://www.hackerrank.com/challenges/s10-standard-deviation) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%201%20-%20Standard%20Deviation/Solution.java) | -| Tutorials | 10 Days of Statistics | 2 | [Basic Probability](https://www.hackerrank.com/challenges/s10-mcq-1) | Multiple Choice | [Solution.txt](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%202%20-%20Basic%20Probability/Solution.txt) | -| Tutorials | 10 Days of Statistics | 2 | [More Dice](https://www.hackerrank.com/challenges/s10-mcq-2) | Multiple Choice | [Solution.txt](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%202%20-%20More%20Dice/Solution.txt) | -| Tutorials | 10 Days of Statistics | 2 | [Compound Event Probability](https://www.hackerrank.com/challenges/s10-mcq-3) | Multiple Choice | [Solution.txt](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%202%20-%20Compound%20Event%20Probability/Solution.txt) | -| Tutorials | 10 Days of Statistics | 3 | [Conditional Probability](https://www.hackerrank.com/challenges/s10-mcq-4) | Multiple Choice | [Solution.txt](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%203%20-%20Conditional%20Probability/Solution.txt) | -| Tutorials | 10 Days of Statistics | 3 | [Cards of the Same Suit](https://www.hackerrank.com/challenges/s10-mcq-5) | Multiple Choice | [Solution.txt](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%203%20-%20Cards%20of%20the%20Same%20Suit/Solution.txt) | -| Tutorials | 10 Days of Statistics | 3 | [Drawing Marbles](https://www.hackerrank.com/challenges/s10-mcq-6) | Multiple Choice | [Solution.txt](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%203%20-%20Drawing%20Marbles/Solution.txt) | -| Tutorials | 10 Days of Statistics | 4 | [Binomial Distribution I](https://www.hackerrank.com/challenges/s10-binomial-distribution-1) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%204%20-%20Binomial%20Distribution%20I/Solution.java) | -| Tutorials | 10 Days of Statistics | 4 | [Binomial Distribution II](https://www.hackerrank.com/challenges/s10-binomial-distribution-2) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%204%20-%20Binomial%20Distribution%20II/Solution.java) | -| Tutorials | 10 Days of Statistics | 4 | [Geometric Distribution I](https://www.hackerrank.com/challenges/s10-geometric-distribution-1) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%204%20-%20Geometric%20Distribution%20I/Solution.java) | -| Tutorials | 10 Days of Statistics | 4 | [Geometric Distribution II](https://www.hackerrank.com/challenges/s10-geometric-distribution-2) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%204%20-%20Geometric%20Distribution%20II/Solution.java) | -| Tutorials | 10 Days of Statistics | 5 | [Poisson Distribution I](https://www.hackerrank.com/challenges/s10-poisson-distribution-1) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%205%20-%20Poisson%20Distribution%20I/Solution.java) | -| Tutorials | 10 Days of Statistics | 5 | [Poisson Distribution II](https://www.hackerrank.com/challenges/s10-poisson-distribution-2) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%205%20-%20Poisson%20Distribution%20II/Solution.java) | -| Tutorials | 10 Days of Statistics | 5 | [Normal Distribution I](https://www.hackerrank.com/challenges/s10-normal-distribution-1) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%205%20-%20Normal%20Distribution%20I/Solution.java) | -| Tutorials | 10 Days of Statistics | 5 | [Normal Distribution II](https://www.hackerrank.com/challenges/s10-normal-distribution-2) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%205%20-%20Normal%20Distribution%20II/Solution.java) | -| Tutorials | 10 Days of Statistics | 6 | [The Central Limit Theorem I](https://www.hackerrank.com/challenges/s10-the-central-limit-theorem-1) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%206%20-%20The%20Central%20Limit%20Theorem%20I/Solution.java) | -| Tutorials | 10 Days of Statistics | 6 | [The Central Limit Theorem II](https://www.hackerrank.com/challenges/s10-the-central-limit-theorem-2) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%206%20-%20The%20Central%20Limit%20Theorem%20II/Solution.java) | -| Tutorials | 10 Days of Statistics | 6 | [The Central Limit Theorem III](https://www.hackerrank.com/challenges/s10-the-central-limit-theorem-3) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%206%20-%20The%20Central%20Limit%20Theorem%20III/Solution.java) | -| Tutorials | 10 Days of Statistics | 7 | [Pearson Correlation Coefficient I](https://www.hackerrank.com/challenges/s10-pearson-correlation-coefficient) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%207%20-%20Pearson%20Correlation%20Coefficient%20I/Solution.java) | +| Tutorials | 10 Days of Statistics | 0 | [Mean, Median, and Mode](https://www.hackerrank.com/challenges/s10-basic-statistics) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%200%20-%20Mean%2C%20Median%2C%20and%20Mode/Solution.java) | +| Tutorials | 10 Days of Statistics | 0 | [Weighted Mean](https://www.hackerrank.com/challenges/s10-weighted-mean) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%200%20-%20Weighted%20Mean/Solution.java) | +| Tutorials | 10 Days of Statistics | 1 | [Quartiles](https://www.hackerrank.com/challenges/s10-quartiles) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%201%20-%20Quartiles/Solution.java) | +| Tutorials | 10 Days of Statistics | 1 | [Interquartile Range](https://www.hackerrank.com/challenges/s10-interquartile-range) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%201%20-%20Interquartile%20Range/Solution.java) | +| Tutorials | 10 Days of Statistics | 1 | [Standard Deviation](https://www.hackerrank.com/challenges/s10-standard-deviation) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%201%20-%20Standard%20Deviation/Solution.java) | +| Tutorials | 10 Days of Statistics | 2 | [Basic Probability](https://www.hackerrank.com/challenges/s10-mcq-1) | Multiple Choice | [Solution.txt](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%202%20-%20Basic%20Probability/Solution.txt) | +| Tutorials | 10 Days of Statistics | 2 | [More Dice](https://www.hackerrank.com/challenges/s10-mcq-2) | Multiple Choice | [Solution.txt](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%202%20-%20More%20Dice/Solution.txt) | +| Tutorials | 10 Days of Statistics | 2 | [Compound Event Probability](https://www.hackerrank.com/challenges/s10-mcq-3) | Multiple Choice | [Solution.txt](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%202%20-%20Compound%20Event%20Probability/Solution.txt) | +| Tutorials | 10 Days of Statistics | 3 | [Conditional Probability](https://www.hackerrank.com/challenges/s10-mcq-4) | Multiple Choice | [Solution.txt](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%203%20-%20Conditional%20Probability/Solution.txt) | +| Tutorials | 10 Days of Statistics | 3 | [Cards of the Same Suit](https://www.hackerrank.com/challenges/s10-mcq-5) | Multiple Choice | [Solution.txt](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%203%20-%20Cards%20of%20the%20Same%20Suit/Solution.txt) | +| Tutorials | 10 Days of Statistics | 3 | [Drawing Marbles](https://www.hackerrank.com/challenges/s10-mcq-6) | Multiple Choice | [Solution.txt](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%203%20-%20Drawing%20Marbles/Solution.txt) | +| Tutorials | 10 Days of Statistics | 4 | [Binomial Distribution I](https://www.hackerrank.com/challenges/s10-binomial-distribution-1) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%204%20-%20Binomial%20Distribution%20I/Solution.java) | +| Tutorials | 10 Days of Statistics | 4 | [Binomial Distribution II](https://www.hackerrank.com/challenges/s10-binomial-distribution-2) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%204%20-%20Binomial%20Distribution%20II/Solution.java) | +| Tutorials | 10 Days of Statistics | 4 | [Geometric Distribution I](https://www.hackerrank.com/challenges/s10-geometric-distribution-1) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%204%20-%20Geometric%20Distribution%20I/Solution.java) | +| Tutorials | 10 Days of Statistics | 4 | [Geometric Distribution II](https://www.hackerrank.com/challenges/s10-geometric-distribution-2) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%204%20-%20Geometric%20Distribution%20II/Solution.java) | +| Tutorials | 10 Days of Statistics | 5 | [Poisson Distribution I](https://www.hackerrank.com/challenges/s10-poisson-distribution-1) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%205%20-%20Poisson%20Distribution%20I/Solution.java) | +| Tutorials | 10 Days of Statistics | 5 | [Poisson Distribution II](https://www.hackerrank.com/challenges/s10-poisson-distribution-2) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%205%20-%20Poisson%20Distribution%20II/Solution.java) | +| Tutorials | 10 Days of Statistics | 5 | [Normal Distribution I](https://www.hackerrank.com/challenges/s10-normal-distribution-1) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%205%20-%20Normal%20Distribution%20I/Solution.java) | +| Tutorials | 10 Days of Statistics | 5 | [Normal Distribution II](https://www.hackerrank.com/challenges/s10-normal-distribution-2) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%205%20-%20Normal%20Distribution%20II/Solution.java) | +| Tutorials | 10 Days of Statistics | 6 | [The Central Limit Theorem I](https://www.hackerrank.com/challenges/s10-the-central-limit-theorem-1) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%206%20-%20The%20Central%20Limit%20Theorem%20I/Solution.java) | +| Tutorials | 10 Days of Statistics | 6 | [The Central Limit Theorem II](https://www.hackerrank.com/challenges/s10-the-central-limit-theorem-2) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%206%20-%20The%20Central%20Limit%20Theorem%20II/Solution.java) | +| Tutorials | 10 Days of Statistics | 6 | [The Central Limit Theorem III](https://www.hackerrank.com/challenges/s10-the-central-limit-theorem-3) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%206%20-%20The%20Central%20Limit%20Theorem%20III/Solution.java) | +| Tutorials | 10 Days of Statistics | 7 | [Pearson Correlation Coefficient I](https://www.hackerrank.com/challenges/s10-pearson-correlation-coefficient) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%207%20-%20Pearson%20Correlation%20Coefficient%20I/Solution.java) | | Tutorials | 10 Days of Statistics | 7 | [Spearman's Rank Correlation Coefficient](https://www.hackerrank.com/challenges/s10-spearman-rank-correlation-coefficient) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%207%20-%20Spearman%27s%20Rank%20Correlation%20Coefficient/Solution.java) | -| Tutorials | 10 Days of Statistics | 8 | [Least Square Regression Line](https://www.hackerrank.com/challenges/s10-least-square-regression-line) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%208%20-%20Least%20Square%20Regression%20Rate/Solution.java) | -| Tutorials | 10 Days of Statistics | 8 | [Pearson Correlation Coefficient II](https://www.hackerrank.com/challenges/s10-mcq-7) | Multiple Choice | [Solution.txt](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%208%20-%20Pearson%20Correlation%20Coefficient%20II/Solution.txt) | -| Tutorials | 10 Days of Statistics | 9 | [Multiple Linear Regression](https://www.hackerrank.com/challenges/s10-multiple-linear-regression) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%209%20-%20Multiple%20Linear%20Regression/Solution.java) | +| Tutorials | 10 Days of Statistics | 8 | [Least Square Regression Line](https://www.hackerrank.com/challenges/s10-least-square-regression-line) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%208%20-%20Least%20Square%20Regression%20Rate/Solution.java) | +| Tutorials | 10 Days of Statistics | 8 | [Pearson Correlation Coefficient II](https://www.hackerrank.com/challenges/s10-mcq-7) | Multiple Choice | [Solution.txt](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%208%20-%20Pearson%20Correlation%20Coefficient%20II/Solution.txt) | +| Tutorials | 10 Days of Statistics | 9 | [Multiple Linear Regression](https://www.hackerrank.com/challenges/s10-multiple-linear-regression) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%209%20-%20Multiple%20Linear%20Regression/Solution.java) | diff --git a/30 Days of Code/Day 12 - Inheritance/Solution.java b/30 Days of Code/Day 12 - Inheritance/Solution.java index 64cafaf..846efcd 100644 --- a/30 Days of Code/Day 12 - Inheritance/Solution.java +++ b/30 Days of Code/Day 12 - Inheritance/Solution.java @@ -53,20 +53,15 @@ class Student extends Person { if (average >= 90) { return 'O'; - } - else if (average >= 80) { + } else if (average >= 80) { return 'E'; - } - else if (average >= 70) { + } else if (average >= 70) { return 'A'; - } - else if (average >= 55) { + } else if (average >= 55) { return 'P'; - } - else if (average >= 40) { + } else if (average >= 40) { return 'D'; - } - else { + } else { return 'T'; } } diff --git a/30 Days of Code/Day 14 - Scope/Solution.java b/30 Days of Code/Day 14 - Scope/Solution.java index b050d99..2e07c7d 100644 --- a/30 Days of Code/Day 14 - Scope/Solution.java +++ b/30 Days of Code/Day 14 - Scope/Solution.java @@ -16,16 +16,12 @@ class Difference { this.elements = elements; } - // O(n) runtime. O(1) space + // Runtime: O(n) + // Space Complexity: O(1) void computeDifference() { - maximumDifference = 0; - int min = elements[0]; - int max = elements[0]; - for (int num : elements) { - min = Math.min(min, num); - max = Math.max(max, num); - } - maximumDifference = max - min; + int max = Arrays.stream(elements).max().getAsInt(); + int min = Arrays.stream(elements).min().getAsInt(); + maximumDifference = max - min ; } } // End of Difference class diff --git a/30 Days of Code/Day 16 - Exceptions - String to Integer/Solution.java b/30 Days of Code/Day 16 - Exceptions - String to Integer/Solution.java index 8a9a089..d6f071a 100644 --- a/30 Days of Code/Day 16 - Exceptions - String to Integer/Solution.java +++ b/30 Days of Code/Day 16 - Exceptions - String to Integer/Solution.java @@ -8,12 +8,12 @@ public class Solution { public static void main(String[] args) { Scanner scan = new Scanner(System.in); String str = scan.next(); + scan.close(); try { int num = Integer.parseInt(str); System.out.println(num); } catch (NumberFormatException e) { System.out.println("Bad String"); } - scan.close(); } } diff --git a/30 Days of Code/Day 23 - BST Level-Order Traversal/Solution.java b/30 Days of Code/Day 23 - BST Level-Order Traversal/Solution.java new file mode 100644 index 0000000..cb55d50 --- /dev/null +++ b/30 Days of Code/Day 23 - BST Level-Order Traversal/Solution.java @@ -0,0 +1,61 @@ +// Author: Rodney Shaghoulian +// Github: github.com/rshaghoulian +// HackerRank: hackerrank.com/rshaghoulian + +import java.io.*; +import java.util.*; + +class Node { + Node left,right; + int data; + Node(int data) { + this.data = data; + left = right = null; + } +} + +class Solution { + static void levelOrder(Node root){ + Queue queue = new LinkedList<>(); + if (root != null) { + queue.add(root); + } + while ( ! queue.isEmpty()) { + Node n = queue.remove(); + System.out.print(n.data + " "); + if (n.left != null) { + queue.add(n.left); + } + if (n.right != null) { + queue.add(n.right); + } + } + } + + public static Node insert(Node root,int data){ + if (root == null) { + return new Node(data); + } else { + Node cur; + if (data <= root.data) { + cur = insert(root.left, data); + root.left = cur; + } + else { + cur = insert(root.right, data); + root.right = cur; + } + return root; + } + } + public static void main(String args[]) { + Scanner sc = new Scanner(System.in); + int T = sc.nextInt(); + Node root = null; + while (T-- > 0) { + int data = sc.nextInt(); + root = insert(root, data); + } + levelOrder(root); + } +} diff --git a/30 Days of Code/Day 24 - More Linked Lists/Solution.java b/30 Days of Code/Day 24 - More Linked Lists/Solution.java new file mode 100644 index 0000000..5d9f44e --- /dev/null +++ b/30 Days of Code/Day 24 - More Linked Lists/Solution.java @@ -0,0 +1,67 @@ +// Author: Rodney Shaghoulian +// Github: github.com/rshaghoulian +// HackerRank: hackerrank.com/rshaghoulian + +import java.io.*; +import java.util.*; + +class Node { + int data; + Node next; + Node(int d) { + data = d; + next = null; + } +} + +class Solution { + public static Node removeDuplicates(Node head) { + if (head == null) { + return null; + } + Node n = head; + while (n.next != null) { + if (n.data == n.next.data) { + n.next = n.next.next; + } else { + n = n.next; + } + } + return head; + } + + public static Node insert(Node head,int data) { + Node p = new Node(data); + if (head == null) + head = p; + else if (head.next == null) + head.next = p; + else { + Node start = head; + while (start.next != null) + start = start.next; + start.next = p; + } + return head; + } + + public static void display(Node head) { + Node start = head; + while (start != null) { + System.out.print(start.data + " "); + start = start.next; + } + } + + public static void main(String args[]) { + Scanner sc = new Scanner(System.in); + Node head = null; + int T = sc.nextInt(); + while (T-- > 0) { + int ele = sc.nextInt(); + head = insert(head, ele); + } + head = removeDuplicates(head); + display(head); + } +} diff --git a/30 Days of Code/Day 25 - Running Time and Complexity/Solution.java b/30 Days of Code/Day 25 - Running Time and Complexity/Solution.java new file mode 100644 index 0000000..c8477a0 --- /dev/null +++ b/30 Days of Code/Day 25 - Running Time and Complexity/Solution.java @@ -0,0 +1,31 @@ +// Author: Rodney Shaghoulian +// Github: github.com/rshaghoulian +// HackerRank: hackerrank.com/rshaghoulian + +import java.util.Scanner; + +public class Solution { + + public static void main(String[] args) { + Scanner scan = new Scanner(System.in); + int p = scan.nextInt(); + for (int a0 = 0; a0 < p; a0++) { + int n = scan.nextInt(); + System.out.println(isPrime(n) ? "Prime" : "Not prime"); + } + scan.close(); + } + + public static boolean isPrime (int n) { + if (n < 2) { + return false; + } + int sqrt = (int) Math.sqrt(n); + for (int i = 2; i <= sqrt; i++) { + if (n % i == 0) { + return false; + } + } + return true; + } +} diff --git a/30 Days of Code/Day 26 - Nested Logic/Solution.java b/30 Days of Code/Day 26 - Nested Logic/Solution.java new file mode 100644 index 0000000..b9a944d --- /dev/null +++ b/30 Days of Code/Day 26 - Nested Logic/Solution.java @@ -0,0 +1,36 @@ +// Author: Rodney Shaghoulian +// Github: github.com/rshaghoulian +// HackerRank: hackerrank.com/rshaghoulian + +import java.util.Scanner; +import java.time.LocalDate; + +public class Solution { + public static void main(String[] args) { + /* Read and save input as LocalDates */ + Scanner scan = new Scanner(System.in); + LocalDate returnDate = readDate(scan); + LocalDate expectDate = readDate(scan); + scan.close(); + + /* Calculate fine */ + int fine; + if (returnDate.isEqual(expectDate) || returnDate.isBefore(expectDate)) { + fine = 0; + } else if (returnDate.getMonth() == expectDate.getMonth() && returnDate.getYear() == expectDate.getYear()) { + fine = 15 * (returnDate.getDayOfMonth() - expectDate.getDayOfMonth()); + } else if (returnDate.getYear() == expectDate.getYear()) { + fine = 500 * (returnDate.getMonthValue() - expectDate.getMonthValue()); + } else { + fine = 10000; + } + System.out.println(fine); + } + + private static LocalDate readDate(Scanner scan) { + int day = scan.nextInt(); + int month = scan.nextInt(); + int year = scan.nextInt(); + return LocalDate.of(year, month, day); + } +} diff --git a/30 Days of Code/Day 27 - Testing/Solution.java b/30 Days of Code/Day 27 - Testing/Solution.java new file mode 100644 index 0000000..583e404 --- /dev/null +++ b/30 Days of Code/Day 27 - Testing/Solution.java @@ -0,0 +1,24 @@ +// Author: Rodney Shaghoulian +// Github: github.com/rshaghoulian +// HackerRank: hackerrank.com/rshaghoulian + +public class Solution { + public static void main(String[] args) { + System.out.println(5); + + System.out.println("4 3"); + System.out.println("-1 0 1 2"); + + System.out.println("3 1"); + System.out.println("-1 0 1"); + + System.out.println("5 4"); + System.out.println("-1 0 1 2 3"); + + System.out.println("6 1"); + System.out.println("-1 0 1 2 3 4"); + + System.out.println("7 6"); + System.out.println("-1 0 1 2 3 4 5"); + } +} diff --git a/30 Days of Code/README.md b/30 Days of Code/README.md index 2e0a10e..4fce56a 100644 --- a/30 Days of Code/README.md +++ b/30 Days of Code/README.md @@ -1,27 +1,34 @@ ## 30 Days of Code -| Domain | Subdomain | Day | Challenge | Difficulty | Solution | -|:---------:|:---------------:|:---:|:-------------------------------------------------------------------------------------------------------:|:------------:|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------:| -| Tutorials | 30 Days of Code | 0 | [Hello, World](https://www.hackerrank.com/challenges/30-hello-world) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2000%20-%20Hello%2C%20World/Solution.java) | -| Tutorials | 30 Days of Code | 1 | [Data Types](https://www.hackerrank.com/challenges/30-data-types) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2001%20-%20Data%20Types/Solution.java) | -| Tutorials | 30 Days of Code | 2 | [Operators](https://www.hackerrank.com/challenges/30-operators) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2002%20-%20Operators/Solution.java) | -| Tutorials | 30 Days of Code | 3 | [Intro to Conditional Statements](https://www.hackerrank.com/challenges/30-conditional-statements) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2003%20-%20Intro%20to%20Conditional%20Statements/Solution.java) | -| Tutorials | 30 Days of Code | 4 | [Class vs. Instance](https://www.hackerrank.com/challenges/30-class-vs-instance) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2004%20-%20Class%20vs.%20Instance/Solution.java) | -| Tutorials | 30 Days of Code | 5 | [Loops](https://www.hackerrank.com/challenges/30-loops) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2005%20-%20Loops/Solution.java) | -| Tutorials | 30 Days of Code | 6 | [Let's Review](https://www.hackerrank.com/challenges/30-review-loop) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2006%20-%20Let's%20Review/Solution.java) | -| Tutorials | 30 Days of Code | 7 | [Arrays](https://www.hackerrank.com/challenges/30-arrays) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2007%20-%20Arrays/Solution.java) | -| Tutorials | 30 Days of Code | 8 | [Dictionaries and Maps](https://www.hackerrank.com/challenges/30-dictionaries-and-maps) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2008%20-%20Dictionaries%20and%20Maps/Solution.java) | -| Tutorials | 30 Days of Code | 9 | [Recursion](https://www.hackerrank.com/challenges/30-recursion) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2009%20-%20Recursion/Solution.java) | -| Tutorials | 30 Days of Code | 10 | [Binary Numbers](https://www.hackerrank.com/challenges/30-binary-numbers) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2010%20-%20Binary%20Numbers/Solution.java) | -| Tutorials | 30 Days of Code | 11 | [2D Arrays](https://www.hackerrank.com/challenges/30-2d-arrays) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2011%20-%202D%20Arrays/Solution.java) | -| Tutorials | 30 Days of Code | 12 | [Inheritance](https://www.hackerrank.com/challenges/30-inheritance) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2012%20-%20Inheritance/Solution.java) | -| Tutorials | 30 Days of Code | 13 | [Abstract Classes](https://www.hackerrank.com/challenges/30-abstract-classes) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2013%20-%20Abstract%20Classes/Solution.java) | -| Tutorials | 30 Days of Code | 14 | [Scope](https://www.hackerrank.com/challenges/30-scope) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2014%20-%20Scope/Solution.java) | -| Tutorials | 30 Days of Code | 15 | [Linked List](https://www.hackerrank.com/challenges/30-linked-list) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2015%20-%20Linked%20List/Solution.java) | -| Tutorials | 30 Days of Code | 16 | [Exceptions - String to Integer](https://www.hackerrank.com/challenges/30-exceptions-string-to-integer) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2016%20-%20Exceptions%20-%20String%20to%20Integer/Solution.java) | -| Tutorials | 30 Days of Code | 17 | [More Exceptions](https://www.hackerrank.com/challenges/30-more-exceptions) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2017%20-%20More%20Exceptions/Solution.java) | -| Tutorials | 30 Days of Code | 18 | [Queues and Stacks](https://www.hackerrank.com/challenges/30-queues-stacks) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2018%20-%20Queues%20and%20Stacks/Solution.java) | -| Tutorials | 30 Days of Code | 19 | [Interfaces](https://www.hackerrank.com/challenges/30-interfaces) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2019%20-%20Interfaces/Solution.java) | -| Tutorials | 30 Days of Code | 20 | [Sorting](https://www.hackerrank.com/challenges/30-sorting) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2020%20-%20Sorting/Solution.java) | -| Tutorials | 30 Days of Code | 21 | [Generics](https://www.hackerrank.com/challenges/30-generics) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2021%20-%20Generics/Solution.java) | -| Tutorials | 30 Days of Code | 22 | [Binary Search Trees](https://www.hackerrank.com/challenges/30-binary-search-trees) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2022%20-%20Binary%20Search%20Trees/Solution.java) | +| Domain | Subdomain | Day | Challenge | Difficulty | Solution | +|:---------:|:---------------:|:---:|:-------------------------------------------------------------------------------------------------------:|:----------:|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------:| +| Tutorials | 30 Days of Code | 0 | [Hello, World](https://www.hackerrank.com/challenges/30-hello-world) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2000%20-%20Hello%2C%20World/Solution.java) | +| Tutorials | 30 Days of Code | 1 | [Data Types](https://www.hackerrank.com/challenges/30-data-types) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2001%20-%20Data%20Types/Solution.java) | +| Tutorials | 30 Days of Code | 2 | [Operators](https://www.hackerrank.com/challenges/30-operators) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2002%20-%20Operators/Solution.java) | +| Tutorials | 30 Days of Code | 3 | [Intro to Conditional Statements](https://www.hackerrank.com/challenges/30-conditional-statements) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2003%20-%20Intro%20to%20Conditional%20Statements/Solution.java) | +| Tutorials | 30 Days of Code | 4 | [Class vs. Instance](https://www.hackerrank.com/challenges/30-class-vs-instance) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2004%20-%20Class%20vs.%20Instance/Solution.java) | +| Tutorials | 30 Days of Code | 5 | [Loops](https://www.hackerrank.com/challenges/30-loops) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2005%20-%20Loops/Solution.java) | +| Tutorials | 30 Days of Code | 6 | [Let's Review](https://www.hackerrank.com/challenges/30-review-loop) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2006%20-%20Let's%20Review/Solution.java) | +| Tutorials | 30 Days of Code | 7 | [Arrays](https://www.hackerrank.com/challenges/30-arrays) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2007%20-%20Arrays/Solution.java) | +| Tutorials | 30 Days of Code | 8 | [Dictionaries and Maps](https://www.hackerrank.com/challenges/30-dictionaries-and-maps) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2008%20-%20Dictionaries%20and%20Maps/Solution.java) | +| Tutorials | 30 Days of Code | 9 | [Recursion](https://www.hackerrank.com/challenges/30-recursion) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2009%20-%20Recursion/Solution.java) | +| Tutorials | 30 Days of Code | 10 | [Binary Numbers](https://www.hackerrank.com/challenges/30-binary-numbers) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2010%20-%20Binary%20Numbers/Solution.java) | +| Tutorials | 30 Days of Code | 11 | [2D Arrays](https://www.hackerrank.com/challenges/30-2d-arrays) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2011%20-%202D%20Arrays/Solution.java) | +| Tutorials | 30 Days of Code | 12 | [Inheritance](https://www.hackerrank.com/challenges/30-inheritance) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2012%20-%20Inheritance/Solution.java) | +| Tutorials | 30 Days of Code | 13 | [Abstract Classes](https://www.hackerrank.com/challenges/30-abstract-classes) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2013%20-%20Abstract%20Classes/Solution.java) | +| Tutorials | 30 Days of Code | 14 | [Scope](https://www.hackerrank.com/challenges/30-scope) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2014%20-%20Scope/Solution.java) | +| Tutorials | 30 Days of Code | 15 | [Linked List](https://www.hackerrank.com/challenges/30-linked-list) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2015%20-%20Linked%20List/Solution.java) | +| Tutorials | 30 Days of Code | 16 | [Exceptions - String to Integer](https://www.hackerrank.com/challenges/30-exceptions-string-to-integer) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2016%20-%20Exceptions%20-%20String%20to%20Integer/Solution.java) | +| Tutorials | 30 Days of Code | 17 | [More Exceptions](https://www.hackerrank.com/challenges/30-more-exceptions) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2017%20-%20More%20Exceptions/Solution.java) | +| Tutorials | 30 Days of Code | 18 | [Queues and Stacks](https://www.hackerrank.com/challenges/30-queues-stacks) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2018%20-%20Queues%20and%20Stacks/Solution.java) | +| Tutorials | 30 Days of Code | 19 | [Interfaces](https://www.hackerrank.com/challenges/30-interfaces) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2019%20-%20Interfaces/Solution.java) | +| Tutorials | 30 Days of Code | 20 | [Sorting](https://www.hackerrank.com/challenges/30-sorting) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2020%20-%20Sorting/Solution.java) | +| Tutorials | 30 Days of Code | 21 | [Generics](https://www.hackerrank.com/challenges/30-generics) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2021%20-%20Generics/Solution.java) | +| Tutorials | 30 Days of Code | 22 | [Binary Search Trees](https://www.hackerrank.com/challenges/30-binary-search-trees) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2022%20-%20Binary%20Search%20Trees/Solution.java) | +| Tutorials | 30 Days of Code | 23 | [BST Level-Order Traversal](https://www.hackerrank.com/challenges/30-binary-trees) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2023%20-%20BST%20Level-Order%20Traversal/Solution.java) | +| Tutorials | 30 Days of Code | 24 | [More Linked Lists](https://www.hackerrank.com/challenges/30-linked-list-deletion) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2024%20-%20More%20Linked%20Lists/Solution.java) | +| Tutorials | 30 Days of Code | 25 | [Running Time and Complexity](https://www.hackerrank.com/challenges/30-running-time-and-complexity) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2025%20-%20Running%20Time%20and%20Complexity/Solution.java) | +| Tutorials | 30 Days of Code | 26 | [Nested Logic](https://www.hackerrank.com/challenges/30-nested-logic) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2026%20-%20Nested%20Logic/Solution.java) | +| Tutorials | 30 Days of Code | 27 | [Testing](https://www.hackerrank.com/challenges/30-testing) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2027%20-%20Testing/Solution.java) | +| Tutorials | 30 Days of Code | 28 | [RegEx, Patterns, and Intro to Databases](https://www.hackerrank.com/challenges/30-regex-patterns) | Medium | Coming Soon! | +| Tutorials | 30 Days of Code | 29 | [Bitwise AND](https://www.hackerrank.com/challenges/30-bitwise-and) | Medium | Coming Soon! | diff --git a/Algorithms/Bit Manipulation/Lonely Integer/Solution.java b/Algorithms/Bit Manipulation/Lonely Integer/Solution.java new file mode 100644 index 0000000..bd5f9fc --- /dev/null +++ b/Algorithms/Bit Manipulation/Lonely Integer/Solution.java @@ -0,0 +1,35 @@ +// Author: Rodney Shaghoulian +// Github: github.com/rshaghoulian +// HackerRank: hackerrank.com/rshaghoulian + +import java.util.Scanner; + +/* O(n) runtime. O(1) space. Uses XOR. Keep in mind: + 1) x ^ x = 0 + 2) x ^ 0 = x + 3) XOR is commutative and associative +*/ +public class Solution { + + public static void main(String[] args) { + /* Read input */ + Scanner scan = new Scanner(System.in); + int n = scan.nextInt(); + int array[] = new int[n]; + for(int i = 0; i < n; i++){ + array[i] = scan.nextInt(); + } + scan.close(); + + System.out.println(lonelyInteger(array)); + } + + /* XORs all numbers in array together */ + public static int lonelyInteger(int [] array) { + int val = 0; + for (int num : array) { + val = val ^ num; // ^ is XOR operator + } + return val; + } +} diff --git a/Algorithms/Graph Theory/Breadth First Search - Shortest Reach/Solution.java b/Algorithms/Graph Theory/Breadth First Search - Shortest Reach/Solution.java new file mode 100644 index 0000000..ce8c7fc --- /dev/null +++ b/Algorithms/Graph Theory/Breadth First Search - Shortest Reach/Solution.java @@ -0,0 +1,92 @@ +// Author: Rodney Shaghoulian +// Github: github.com/rshaghoulian +// HackerRank: hackerrank.com/rshaghoulian + +import java.util.Scanner; +import java.util.HashSet; +import java.util.Queue; +import java.util.LinkedList; + +/* Creates a graph and uses breadth-first search (BFS) to find minimum spanning tree (MST) */ +public class Solution { + + private static final int EDGE_WEIGHT = 6; + + public static void main(String[] args) { + + Scanner scan = new Scanner(System.in); + int numQueries = scan.nextInt(); + + for (int q = 0; q < numQueries; q++) { + int numNodes = scan.nextInt(); + int numEdges = scan.nextInt(); + + /* Create Nodes */ + Node [] node = new Node[numNodes + 1]; // make array 1 bigger than number of Nodes so Node 1 is at index 1 + node[0] = null; + for (int i = 1; i <= numNodes; i++) { + node[i] = new Node(i); + } + + /* Connect Nodes */ + for (int i = 0; i < numEdges; i++) { + int n1 = scan.nextInt(); + int n2 = scan.nextInt(); + node[n1].addNeighbor(node[n2]); + } + + /* Create MST */ + int start = scan.nextInt(); + createMST(node[start]); + + /* Print results */ + for (int i = 1; i <= numNodes; i++) { + if (i != start) { + System.out.print(node[i].distance + " "); + } + } + System.out.println(); + } + scan.close(); + } + + /* Use BFS to create minimum spanning tree */ + private static void createMST(Node start) { + if (start == null) + return; + + Queue queue = new LinkedList(); + + start.distance = 0; + queue.add(start); + + while ( ! queue.isEmpty()) { + Node curr = queue.remove(); + + for (Node neighbor : curr.neighbors) { + if (neighbor.distance == -1) { // meaning it's unvisited + neighbor.distance = curr.distance + EDGE_WEIGHT; + queue.add(neighbor); + } + } + } + } + + /* Implementation of an UNDIRECTED graph */ + public static class Node { + public final int id; + public int distance; // this can also tell us if Node has been visited + public HashSet neighbors; + + public Node (int id) { + this.id = id; + distance = -1; + neighbors = new HashSet<>(); + } + + public void addNeighbor(Node neighbor) { + neighbors.add(neighbor); + neighbor.neighbors.add(this); + } + } +} diff --git a/Algorithms/Implementation/Angry Professor/Solution.java b/Algorithms/Implementation/Angry Professor/Solution.java new file mode 100644 index 0000000..d09bffc --- /dev/null +++ b/Algorithms/Implementation/Angry Professor/Solution.java @@ -0,0 +1,24 @@ +// Author: Rodney Shaghoulian +// Github: github.com/rshaghoulian +// HackerRank: hackerrank.com/rshaghoulian + +import java.util.Scanner; + +public class Solution { + public static void main(String[] args) { + Scanner scan = new Scanner(System.in); + int T = scan.nextInt(); + while (T-- > 0) { + int onTimeStudents = 0; + int N = scan.nextInt(); + int K = scan.nextInt(); + for (int i = 0; i < N; i++) { + if (scan.nextInt() <= 0) { + onTimeStudents++; + } + } + System.out.println(onTimeStudents < K ? "YES" : "NO"); + } + scan.close(); + } +} diff --git a/Algorithms/Implementation/Apple and Orange/Solution.java b/Algorithms/Implementation/Apple and Orange/Solution.java new file mode 100644 index 0000000..f897b7f --- /dev/null +++ b/Algorithms/Implementation/Apple and Orange/Solution.java @@ -0,0 +1,43 @@ +// Author: Rodney Shaghoulian +// Github: github.com/rshaghoulian +// HackerRank: hackerrank.com/rshaghoulian + +import java.util.Scanner; + +// Runtime: O(m + n) +// Space Complexity: O(1) +public class Solution { + + public static void main(String[] args) { + /* Read and save input */ + Scanner scan = new Scanner(System.in); + int s = scan.nextInt(); + int t = scan.nextInt(); + int a = scan.nextInt(); + int b = scan.nextInt(); + int m = scan.nextInt(); + int n = scan.nextInt(); + + /* Calculate # of apples that fall on house */ + int applesOnHouse = 0; + for (int i = 0; i < m; i++) { + int applePosition = a + scan.nextInt(); + if (applePosition >= s && applePosition <= t) { + applesOnHouse++; + } + } + System.out.println(applesOnHouse); + + /* Calculate # of oranges that fall on house */ + int orangesOnHouse = 0; + for (int i = 0; i < n; i++) { + int orangePosition = b + scan.nextInt(); + if (orangePosition >= s && orangePosition <= t) { + orangesOnHouse++; + } + } + System.out.println(orangesOnHouse); + + scan.close(); + } +} diff --git a/Algorithms/Warmup/Circular Array Rotation/Solution.java b/Algorithms/Implementation/Circular Array Rotation/Solution.java similarity index 100% rename from Algorithms/Warmup/Circular Array Rotation/Solution.java rename to Algorithms/Implementation/Circular Array Rotation/Solution.java diff --git a/Algorithms/Implementation/Designer PDF Viewer/Solution.java b/Algorithms/Implementation/Designer PDF Viewer/Solution.java new file mode 100644 index 0000000..dc94328 --- /dev/null +++ b/Algorithms/Implementation/Designer PDF Viewer/Solution.java @@ -0,0 +1,30 @@ +// Author: Rodney Shaghoulian +// Github: github.com/rshaghoulian +// HackerRank: hackerrank.com/rshaghoulian + +import java.util.Scanner; + +public class Solution { + + private static final int letters = 26; + + public static void main(String[] args) { + /* Read and save input */ + Scanner scan = new Scanner(System.in); + int [] height = new int[letters]; + for (int i = 0; i < letters; i++){ + height[i] = scan.nextInt(); + } + String str = scan.next(); + scan.close(); + + /* Calculate and print area */ + int maxHeight = 0; + for (int i = 0; i < str.length(); i++) { + int index = str.charAt(i) - 'a'; + maxHeight = Math.max(maxHeight, height[index]); + } + int area = maxHeight * str.length(); + System.out.println(area); + } +} diff --git a/Algorithms/Implementation/Grading Students/Solution.java b/Algorithms/Implementation/Grading Students/Solution.java new file mode 100644 index 0000000..a465bfa --- /dev/null +++ b/Algorithms/Implementation/Grading Students/Solution.java @@ -0,0 +1,27 @@ +// Author: Rodney Shaghoulian +// Github: github.com/rshaghoulian +// HackerRank: hackerrank.com/rshaghoulian + +import java.util.Scanner; + +public class Solution { + + public static void main(String[] args) { + Scanner scan = new Scanner(System.in); + int n = scan.nextInt(); + while (n-- > 0) { + int grade = scan.nextInt(); + System.out.println(roundGrade(grade)); + } + } + + private static int roundGrade(int grade) { + if (grade >= 38) { + int gradeMod5 = grade % 5; + if (gradeMod5 > 2) { + grade += 5 - gradeMod5; + } + } + return grade; + } +} diff --git a/Algorithms/README.md b/Algorithms/README.md index 9f61c8b..7cf585b 100644 --- a/Algorithms/README.md +++ b/Algorithms/README.md @@ -1,14 +1,366 @@ ## Algorithms -| Domain | Subdomain | Challenge | Difficulty | Solution | -|:----------:|:--------------:|:----------------------------------------------------------------------------------------:|:----------:|:---------------------------------------------------------------------------------------------------------------------------------------------:| -| Algorithms | Warmup | [Solve Me First](https://www.hackerrank.com/challenges/solve-me-first) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Warmup/Solve%20Me%20First/Solution.java) | -| Algorithms | Warmup | [Simple Array Sum](https://www.hackerrank.com/challenges/simple-array-sum) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Warmup/Simple%20Array%20Sum/Solution.java) | -| Algorithms | Warmup | [Compare the Triplets](https://www.hackerrank.com/challenges/compare-the-triplets) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Warmup/Compare%20the%20Triplets/Solution.java) | -| Algorithms | Warmup | [A Very Big Sum](https://www.hackerrank.com/challenges/a-very-big-sum) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Warmup/A%20Very%20Big%20Sum/Solution.java) | -| Algorithms | Warmup | [Diagonal Difference](https://www.hackerrank.com/challenges/diagonal-difference) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Warmup/Diagonal%20Difference/Solution.java) | -| Algorithms | Warmup | [Plus Minus](https://www.hackerrank.com/challenges/plus-minus) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Warmup/Plus%20Minus/Solution.java) | -| Algorithms | Warmup | [Staircase](https://www.hackerrank.com/challenges/staircase) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Warmup/Staircase/Solution.java) | -| Algorithms | Warmup | [Time Conversion](https://www.hackerrank.com/challenges/time-conversion) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Warmup/Time%20Conversion/Solution.java) | -| Algorithms | Warmup | [Circular Array Rotation](https://www.hackerrank.com/challenges/circular-array-rotation) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Warmup/Circular%20Array%20Rotation/Solution.java) | -| Algorithms | Implementation | [Mini-max Sum](https://www.hackerrank.com/challenges/mini-max-sum) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Implementation/Mini-Max%20Sum/Solution.java) | +| Domain | Subdomain | Challenge | Difficulty | Solution | +|:----------:|:-----------------------:|:-----------------------------------------------------------------------------------------------------------------------------------:|:----------:|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------:| +| Algorithms | Warmup | [Solve Me First](https://www.hackerrank.com/challenges/solve-me-first) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Warmup/Solve%20Me%20First/Solution.java) | +| Algorithms | Warmup | [Simple Array Sum](https://www.hackerrank.com/challenges/simple-array-sum) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Warmup/Simple%20Array%20Sum/Solution.java) | +| Algorithms | Warmup | [Compare the Triplets](https://www.hackerrank.com/challenges/compare-the-triplets) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Warmup/Compare%20the%20Triplets/Solution.java) | +| Algorithms | Warmup | [A Very Big Sum](https://www.hackerrank.com/challenges/a-very-big-sum) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Warmup/A%20Very%20Big%20Sum/Solution.java) | +| Algorithms | Warmup | [Diagonal Difference](https://www.hackerrank.com/challenges/diagonal-difference) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Warmup/Diagonal%20Difference/Solution.java) | +| Algorithms | Warmup | [Plus Minus](https://www.hackerrank.com/challenges/plus-minus) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Warmup/Plus%20Minus/Solution.java) | +| Algorithms | Warmup | [Staircase](https://www.hackerrank.com/challenges/staircase) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Warmup/Staircase/Solution.java) | +| Algorithms | Warmup | [Mini-max Sum](https://www.hackerrank.com/challenges/mini-max-sum) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Warmup/Mini-Max%20Sum/Solution.java) | +| Algorithms | Warmup | [Time Conversion](https://www.hackerrank.com/challenges/time-conversion) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Warmup/Time%20Conversion/Solution.java) | +| Algorithms | Implementation | [Grading Students](https://www.hackerrank.com/challenges/grading) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Implementation/Grading%20Students/Solution.java) | +| Algorithms | Implementation | [Designer PDF Viewer](https://www.hackerrank.com/challenges/designer-pdf-viewer) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Implementation/Designer%20PDF%20Viewer/Solution.java) | +| Algorithms | Implementation | [Apple and Orange](https://www.hackerrank.com/challenges/apple-and-orange) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Implementation/Apple%20and%20Orange/Solution.java) | +| Algorithms | Implementation | [Kangaroo](https://www.hackerrank.com/challenges/kangaroo) | Easy | Coming Soon! | +| Algorithms | Implementation | [Between Two Sets](https://www.hackerrank.com/challenges/between-two-sets) | Easy | Coming Soon! | +| Algorithms | Implementation | [Divisible Sum Pairs](https://www.hackerrank.com/challenges/divisible-sum-pairs) | Easy | Coming Soon! | +| Algorithms | Implementation | [Bon Appetit](https://www.hackerrank.com/challenges/bon-appetit) | Easy | Coming Soon! | +| Algorithms | Implementation | [Sock Merchant](https://www.hackerrank.com/challenges/sock-merchant) | Easy | Coming Soon! | +| Algorithms | Implementation | [Utopian Tree](https://www.hackerrank.com/challenges/utopian-tree) | Easy | Coming Soon! | +| Algorithms | Implementation | [Angry Professor](https://www.hackerrank.com/challenges/angry-professor) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Implementation/Angry%20Professor/Solution.java) | +| Algorithms | Implementation | [Beautiful Days at the Movies](https://www.hackerrank.com/challenges/beautiful-days-at-the-movies) | Easy | Coming Soon! | +| Algorithms | Implementation | [Viral Advertising](https://www.hackerrank.com/challenges/strange-advertising) | Easy | Coming Soon! | +| Algorithms | Implementation | [Save the Prisoner!](https://www.hackerrank.com/challenges/save-the-prisoner) | Easy | Coming Soon! | +| Algorithms | Implementation | [Circular Array Rotation](https://www.hackerrank.com/challenges/circular-array-rotation) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Implementation/Circular%20Array%20Rotation/Solution.java) | +| Algorithms | Implementation | [Jumping on the Clouds - Revisited](https://www.hackerrank.com/challenges/jumping-on-the-clouds-revisited) | Easy | Coming Soon! | +| Algorithms | Implementation | [Find Digits](https://www.hackerrank.com/challenges/find-digits) | Easy | Coming Soon! | +| Algorithms | Implementation | [Extra Long Factorials](https://www.hackerrank.com/challenges/extra-long-factorials) | Medium | Coming Soon! | +| Algorithms | Implementation | [Append and Delete](https://www.hackerrank.com/challenges/append-and-delete) | Easy | Coming Soon! | +| Algorithms | Implementation | [Sherlock and Squares](https://www.hackerrank.com/challenges/sherlock-and-squares) | Easy | Coming Soon! | +| Algorithms | Implementation | [Library Fine](https://www.hackerrank.com/challenges/library-fine) | Easy | Coming Soon! | +| Algorithms | Implementation | [Cut the sticks](https://www.hackerrank.com/challenges/cut-the-sticks) | Easy | Coming Soon! | +| Algorithms | Implementation | [Non-Divisible Subset](https://www.hackerrank.com/challenges/non-divisible-subset) | Medium | Coming Soon! | +| Algorithms | Implementation | [Repeated String](https://www.hackerrank.com/challenges/repeated-string) | Easy | Coming Soon! | +| Algorithms | Implementation | [Jumping on the Clouds](https://www.hackerrank.com/challenges/jumping-on-the-clouds) | Easy | Coming Soon! | +| Algorithms | Implementation | [Equalize the Array](https://www.hackerrank.com/challenges/equality-in-a-array) | Easy | Coming Soon! | +| Algorithms | Implementation | [ACM ICPC Team](https://www.hackerrank.com/challenges/acm-icpc-team) | Easy | Coming Soon! | +| Algorithms | Implementation | [Taum and B'day](https://www.hackerrank.com/challenges/taum-and-bday) | Easy | Coming Soon! | +| Algorithms | Implementation | [Encryption](https://www.hackerrank.com/challenges/encryption) | Medium | Coming Soon! | +| Algorithms | Implementation | [Bigger is Greater](https://www.hackerrank.com/challenges/bigger-is-greater) | Medium | Coming Soon! | +| Algorithms | Implementation | [Modified Kaprekar Numbers](https://www.hackerrank.com/challenges/kaprekar-numbers) | Easy | Coming Soon! | +| Algorithms | Implementation | [Beautiful Triplets](https://www.hackerrank.com/challenges/beautiful-triplets) | Easy | Coming Soon! | +| Algorithms | Implementation | [Manasa and Stones](https://www.hackerrank.com/challenges/manasa-and-stones) | Easy | Coming Soon! | +| Algorithms | Implementation | [Minimum Distances](https://www.hackerrank.com/challenges/minimum-distances) | Easy | Coming Soon! | +| Algorithms | Implementation | [The Time in Words](https://www.hackerrank.com/challenges/the-time-in-words) | Medium | Coming Soon! | +| Algorithms | Implementation | [Cavity Map](https://www.hackerrank.com/challenges/cavity-map) | Easy | Coming Soon! | +| Algorithms | Implementation | [Chocolate Feast](https://www.hackerrank.com/challenges/chocolate-feast) | Easy | Coming Soon! | +| Algorithms | Implementation | [Service Lane](https://www.hackerrank.com/challenges/service-lane) | Easy | Coming Soon! | +| Algorithms | Implementation | [Lisa's Workbook](https://www.hackerrank.com/challenges/lisa-workbook) | Easy | Coming Soon! | +| Algorithms | Implementation | [The Grid Search](https://www.hackerrank.com/challenges/the-grid-search) | Medium | Coming Soon! | +| Algorithms | Implementation | [Flatland Space Stations](https://www.hackerrank.com/challenges/flatland-space-stations) | Easy | Coming Soon! | +| Algorithms | Implementation | [Fair Rations](https://www.hackerrank.com/challenges/fair-rations) | Easy | Coming Soon! | +| Algorithms | Implementation | [Happy Ladybugs](https://www.hackerrank.com/challenges/happy-ladybugs) | Easy | Coming Soon! | +| Algorithms | Implementation | [Strange Counter](https://www.hackerrank.com/challenges/strange-code) | Easy | Coming Soon! | +| Algorithms | Implementation | [Almost Sorted](https://www.hackerrank.com/challenges/almost-sorted) | Medium | Coming Soon! | +| Algorithms | Implementation | [Absolute Permutation](https://www.hackerrank.com/challenges/absolute-permutation) | Medium | Coming Soon! | +| Algorithms | Implementation | [The Bomberman Game](https://www.hackerrank.com/challenges/bomber-man) | Medium | Coming Soon! | +| Algorithms | Implementation | [Ema's Supercomputer](https://www.hackerrank.com/challenges/two-pluses) | Medium | Coming Soon! | +| Algorithms | Implementation | [Larry's Array](https://www.hackerrank.com/challenges/larrys-array) | Medium | Coming Soon! | +| Algorithms | Implementation | [Matrix Layer Rotation](https://www.hackerrank.com/challenges/matrix-rotation-algo) | Hard | Coming Soon! | +| Algorithms | Strings | [Super Reduced String](https://www.hackerrank.com/challenges/reduced-string) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Strings/Super%20Reduced%20String/Solution.java) | +| Algorithms | Strings | [CamelCase](https://www.hackerrank.com/challenges/camelcase) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Strings/CamelCase/Solution.java) | +| Algorithms | Strings | [Two Characters](https://www.hackerrank.com/challenges/two-characters) | Easy | Coming Soon! | +| Algorithms | Strings | [Pangrams](https://www.hackerrank.com/challenges/pangrams) | Easy | Coming Soon! | +| Algorithms | Strings | [Caesar Cipher](https://www.hackerrank.com/challenges/caesar-cipher-1) | Easy | Coming Soon! | +| Algorithms | Strings | [Mars Exploration](https://www.hackerrank.com/challenges/mars-exploration) | Easy | Coming Soon! | +| Algorithms | Strings | [Funny String](https://www.hackerrank.com/challenges/funny-string) | Easy | Coming Soon! | +| Algorithms | Strings | [Gemstones](https://www.hackerrank.com/challenges/gem-stones) | Easy | Coming Soon! | +| Algorithms | Strings | [Alternating Characters](https://www.hackerrank.com/challenges/alternating-characters) | Easy | Coming Soon! | +| Algorithms | Strings | [Beautiful Binary String](https://www.hackerrank.com/challenges/beautiful-binary-string) | Easy | Coming Soon! | +| Algorithms | Strings | [The Love-Letter Mystery](https://www.hackerrank.com/challenges/the-love-letter-mystery) | Easy | Coming Soon! | +| Algorithms | Strings | [Palindrome Index](https://www.hackerrank.com/challenges/palindrome-index) | Easy | Coming Soon! | +| Algorithms | Strings | [Anagram](https://www.hackerrank.com/challenges/anagram) | Easy | Coming Soon! | +| Algorithms | Strings | [Making Anagrams](https://www.hackerrank.com/challenges/making-anagrams) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Strings/Making%20Anagrams/Solution.java) | +| Algorithms | Strings | [Game of Thrones - I](https://www.hackerrank.com/challenges/game-of-thrones) | Easy | Coming Soon! | +| Algorithms | Strings | [Two Strings](https://www.hackerrank.com/challenges/two-strings) | Easy | Coming Soon! | +| Algorithms | Strings | [String Construction](https://www.hackerrank.com/challenges/string-construction) | Easy | Coming Soon! | +| Algorithms | Strings | [Sherlock and Valid String](https://www.hackerrank.com/challenges/sherlock-and-valid-string) | Hard | Coming Soon! | +| Algorithms | Strings | [Richie Rich](https://www.hackerrank.com/challenges/richie-rich) | Medium | Coming Soon! | +| Algorithms | Strings | [Sherlock and Anagrams](https://www.hackerrank.com/challenges/sherlock-and-anagrams) | Medium | Coming Soon! | +| Algorithms | Strings | [Common Child](https://www.hackerrank.com/challenges/common-child) | Hard | Coming Soon! | +| Algorithms | Strings | [Bear and Steady Gene](https://www.hackerrank.com/challenges/bear-and-steady-gene) | Medium | Coming Soon! | +| Algorithms | Strings | [Morgan and a String](https://www.hackerrank.com/challenges/morgan-and-a-string) | Expert | Coming Soon! | +| Algorithms | Strings | [Count Strings](https://www.hackerrank.com/challenges/count-strings) | Hard | Coming Soon! | +| Algorithms | Strings | [String Function Calculation](https://www.hackerrank.com/challenges/string-function-calculation) | Advanced | Coming Soon! | +| Algorithms | Strings | [Build a Palindrome](https://www.hackerrank.com/challenges/challenging-palindromes) | Advanced | Coming Soon! | +| Algorithms | Strings | [Build a String](https://www.hackerrank.com/challenges/build-a-string) | Hard | Coming Soon! | +| Algorithms | Strings | [Gridland Provinces](https://www.hackerrank.com/challenges/gridland-provinces) | Hard | Coming Soon! | +| Algorithms | Strings | [Ashton and String](https://www.hackerrank.com/challenges/ashton-and-string) | Advanced | Coming Soon! | +| Algorithms | Strings | [String Similarity](https://www.hackerrank.com/challenges/string-similarity) | Expert | Coming Soon! | +| Algorithms | Strings | [Super Functional Strings](https://www.hackerrank.com/challenges/super-functional-strings) | Advanced | Coming Soon! | +| Algorithms | Strings | [Circular Palindromes](https://www.hackerrank.com/challenges/circular-palindromes) | Advanced | Coming Soon! | +| Algorithms | Strings | [Similar Strings](https://www.hackerrank.com/challenges/similar-strings) | Advanced | Coming Soon! | +| Algorithms | Strings | [Save Humanity](https://www.hackerrank.com/challenges/save-humanity) | Expert | Coming Soon! | +| Algorithms | Strings | [Find Strings](https://www.hackerrank.com/challenges/find-strings) | Expert | Coming Soon! | +| Algorithms | Strings | [Palindromic Border](https://www.hackerrank.com/challenges/palindromic-border) | Expert | Coming Soon! | +| Algorithms | Strings | [Two Two](https://www.hackerrank.com/challenges/two-two) | Advanced | Coming Soon! | +| Algorithms | Strings | [Two Strings Game](https://www.hackerrank.com/challenges/two-strings-game) | Expert | Coming Soon! | +| Algorithms | Strings | [Letter Islands](https://www.hackerrank.com/challenges/letter-islands) | Expert | Coming Soon! | +| Algorithms | Strings | [Pseudo-Isomorphic Substrings](https://www.hackerrank.com/challenges/pseudo-isomorphic-substrings) | Expert | Coming Soon! | +| Algorithms | Sorting | [Intro to Tutorial Challenges](https://www.hackerrank.com/challenges/tutorial-intro) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Sorting/Intro%20to%20Tutorial%20Challenges/Solution.java) | +| Algorithms | Sorting | [Insertion Sort - Part 1](https://www.hackerrank.com/challenges/insertionsort1) | Easy | Coming Soon! | +| Algorithms | Sorting | [Insertion Sort - Part 2](https://www.hackerrank.com/challenges/insertionsort2) | Easy | Coming Soon! | +| Algorithms | Sorting | [Correctness and the Loop Invariant](https://www.hackerrank.com/challenges/correctness-invariant) | Easy | Coming Soon! | +| Algorithms | Sorting | [Running Time of Algorithms](https://www.hackerrank.com/challenges/runningtime) | Easy | Coming Soon! | +| Algorithms | Sorting | [Quicksort 1 - Partition](https://www.hackerrank.com/challenges/quicksort1) | Easy | Coming Soon! | +| Algorithms | Sorting | [Quicksort 2 - Sorting](https://www.hackerrank.com/challenges/quicksort2) | Easy | Coming Soon! | +| Algorithms | Sorting | [Quicksort In-Place](https://www.hackerrank.com/challenges/quicksort3) | Medium | Coming Soon! | +| Algorithms | Sorting | [Running Time of Quicksort](https://www.hackerrank.com/challenges/quicksort4) | Easy | Coming Soon! | +| Algorithms | Sorting | [Counting Sort 1](https://www.hackerrank.com/challenges/countingsort1) | Easy | Coming Soon! | +| Algorithms | Sorting | [Counting Sort 2](https://www.hackerrank.com/challenges/countingsort2) | Easy | Coming Soon! | +| Algorithms | Sorting | [Counting Sort 3](https://www.hackerrank.com/challenges/countingsort3) | Easy | Coming Soon! | +| Algorithms | Sorting | [The Full Counting Sort](https://www.hackerrank.com/challenges/countingsort4) | Medium | Coming Soon! | +| Algorithms | Sorting | [Closest Numbers](https://www.hackerrank.com/challenges/closest-numbers) | Easy | Coming Soon! | +| Algorithms | Sorting | [Find the Median](https://www.hackerrank.com/challenges/find-the-median) | Easy | Coming Soon! | +| Algorithms | Sorting | [Insertion Sort Advanced Analysis](https://www.hackerrank.com/challenges/insertion-sort) | Advanced | Coming Soon! | +| Algorithms | Sorting | [Fraudulent Activity Notifications](https://www.hackerrank.com/challenges/fraudulent-activity-notifications) | Medium | Coming Soon! | +| Algorithms | Sorting | [Lily's Homework](https://www.hackerrank.com/challenges/lilys-homework) | Medium | Coming Soon! | +| Algorithms | Search | [Hackerland Radio Transmitters](https://www.hackerrank.com/challenges/hackerland-radio-transmitters) | Easy | Coming Soon! | +| Algorithms | Search | [Ice Cream Parlor](https://www.hackerrank.com/challenges/icecream-parlor) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Search/Ice%20Cream%20Parlor/Solution.java) | +| Algorithms | Search | [Gridland Metro](https://www.hackerrank.com/challenges/gridland-metro) | Medium | Coming Soon! | +| Algorithms | Search | [Missing Numbers](https://www.hackerrank.com/challenges/missing-numbers) | Easy | Coming Soon! | +| Algorithms | Search | [Pairs](https://www.hackerrank.com/challenges/pairs) | Medium | Coming Soon! | +| Algorithms | Search | [Sherlock and Array](https://www.hackerrank.com/challenges/sherlock-and-array) | Easy | Coming Soon! | +| Algorithms | Search | [Maximum Subarray Sum](https://www.hackerrank.com/challenges/maximum-subarray-sum) | Hard | Coming Soon! | +| Algorithms | Search | [Connected Cells in a Grid](https://www.hackerrank.com/challenges/connected-cell-in-a-grid) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Search/Connected%20Cells%20in%20a%20Grid/Solution.java) | +| Algorithms | Search | [Short Palindrome](https://www.hackerrank.com/challenges/short-palindrome) | Medium | Coming Soon! | +| Algorithms | Search | [Count Luck](https://www.hackerrank.com/challenges/count-luck) | Medium | Coming Soon! | +| Algorithms | Search | [Cut the Tree](https://www.hackerrank.com/challenges/cut-the-tree) | Medium | Coming Soon! | +| Algorithms | Search | [Making Candies](https://www.hackerrank.com/challenges/making-candies) | Hard | Coming Soon! | +| Algorithms | Search | [Gene Playing Hanoi](https://www.hackerrank.com/challenges/gena) | Medium | Coming Soon! | +| Algorithms | Search | [Beautiful Quadruples](https://www.hackerrank.com/challenges/xor-quadruples) | Medium | Coming Soon! | +| Algorithms | Search | [Bike Racers](https://www.hackerrank.com/challenges/bike-racers) | Hard | Coming Soon! | +| Algorithms | Search | [Task Scheduling](https://www.hackerrank.com/challenges/task-scheduling) | Advanced | Coming Soon! | +| Algorithms | Search | [Similar Pair](https://www.hackerrank.com/challenges/similarpair) | Advanced | Coming Soon! | +| Algorithms | Search | [Absolute Element Sums](https://www.hackerrank.com/challenges/playing-with-numbers) | Hard | Coming Soon! | +| Algorithms | Search | [Sorted Subsegments](https://www.hackerrank.com/challenges/sorted-subsegments) | Hard | Coming Soon! | +| Algorithms | Search | [King Richard's Knights](https://www.hackerrank.com/challenges/king-richards-knights) | Hard | Coming Soon! | +| Algorithms | Graph Theory | [Journey to the Moon](https://www.hackerrank.com/challenges/journey-to-the-moon) | Medium | Coming Soon! | +| Algorithms | Graph Theory | [Synchronous Shopping](https://www.hackerrank.com/challenges/synchronous-shopping) | Medium | Coming Soon! | +| Algorithms | Graph Theory | [Subset Component](https://www.hackerrank.com/challenges/subset-component) | Hard | Coming Soon! | +| Algorithms | Graph Theory | [Breadth First Search - Shortest Reach](https://www.hackerrank.com/challenges/bfsshortreach) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Graph%20Theory/Breadth%20First%20Search%20-%20Shortest%20Reach/Solution.java) | +| Algorithms | Graph Theory | [Kruskal (MST) - Really Special Subtree](https://www.hackerrank.com/challenges/kruskalmstrsub) | Hard | Coming Soon! | +| Algorithms | Graph Theory | [Even Tree](https://www.hackerrank.com/challenges/even-tree) | Medium | Coming Soon! | +| Algorithms | Graph Theory | [Snakes and Ladders - The Quickest Way Up](https://www.hackerrank.com/challenges/the-quickest-way-up) | Medium | Coming Soon! | +| Algorithms | Graph Theory | [Dijkstra - Shortest Reach 2](https://www.hackerrank.com/challenges/dijkstrashortreach) | Hard | Coming Soon! | +| Algorithms | Graph Theory | [Prim's (MST) - Special Subtree](https://www.hackerrank.com/challenges/primsmstsub) | Medium | Coming Soon! | +| Algorithms | Graph Theory | [Clique](https://www.hackerrank.com/challenges/clique) | Medium | Coming Soon! | +| Algorithms | Graph Theory | [Minimum Penalty Path](https://www.hackerrank.com/challenges/beautiful-path) | Medium | Coming Soon! | +| Algorithms | Graph Theory | [Demanding Money](https://www.hackerrank.com/challenges/borrowing-money) | Hard | Coming Soon! | +| Algorithms | Graph Theory | [Jack goes to Rapture](https://www.hackerrank.com/challenges/jack-goes-to-rapture) | Medium | Coming Soon! | +| Algorithms | Graph Theory | [Crab Graphs](https://www.hackerrank.com/challenges/crab-graphs) | Medium | Coming Soon! | +| Algorithms | Graph Theory | [Bead Ornaments](https://www.hackerrank.com/challenges/beadornaments) | Advanced | Coming Soon! | +| Algorithms | Graph Theory | [Jeanie's Route](https://www.hackerrank.com/challenges/jeanies-route) | Medium | Coming Soon! | +| Algorithms | Graph Theory | [Floyd - City of Blinding Lights](https://www.hackerrank.com/challenges/floyd-city-of-blinding-lights) | Hard | Coming Soon! | +| Algorithms | Graph Theory | [Roads in HackerLand](https://www.hackerrank.com/challenges/johnland) | Medium | Coming Soon! | +| Algorithms | Graph Theory | [Kingdom Connectivity](https://www.hackerrank.com/challenges/kingdom-connectivity) | Hard | Coming Soon! | +| Algorithms | Graph Theory | [Computer Game](https://www.hackerrank.com/challenges/computer-game) | Hard | Coming Soon! | +| Algorithms | Graph Theory | [Rust & Murderer](https://www.hackerrank.com/challenges/rust-murderer) | Medium | Coming Soon! | +| Algorithms | Graph Theory | [Problem solving](https://www.hackerrank.com/challenges/problem-solving) | Hard | Coming Soon! | +| Algorithms | Graph Theory | [Journey Scheduling](https://www.hackerrank.com/challenges/journey-scheduling) | Hard | Coming Soon! | +| Algorithms | Graph Theory | [Matrix](https://www.hackerrank.com/challenges/matrix) | Hard | Coming Soon! | +| Algorithms | Graph Theory | [Recording Episodes](https://www.hackerrank.com/challenges/episode-recording) | Hard | Coming Soon! | +| Algorithms | Graph Theory | [Repair Roads](https://www.hackerrank.com/challenges/repair-roads) | Hard | Coming Soon! | +| Algorithms | Graph Theory | [Kth Ancestor](https://www.hackerrank.com/challenges/kth-ancestor) | Hard | Coming Soon! | +| Algorithms | Graph Theory | [ByteLandian Tours](https://www.hackerrank.com/challenges/bytelandian-tours) | Hard | Coming Soon! | +| Algorithms | Graph Theory | [Find the Path](https://www.hackerrank.com/challenges/shortest-path) | Hard | Coming Soon! | +| Algorithms | Graph Theory | [Savita And Friends](https://www.hackerrank.com/challenges/savita-and-friends) | Hard | Coming Soon! | +| Algorithms | Graph Theory | [Liars](https://www.hackerrank.com/challenges/liars) | Advanced | Coming Soon! | +| Algorithms | Graph Theory | [Jumping Rooks](https://www.hackerrank.com/challenges/jumping-rooks) | Advanced | Coming Soon! | +| Algorithms | Graph Theory | [Tripartite Matching](https://www.hackerrank.com/challenges/tripartite-matching) | Hard | Coming Soon! | +| Algorithms | Graph Theory | [Tree Flow](https://www.hackerrank.com/challenges/tree-flow) | Hard | Coming Soon! | +| Algorithms | Graph Theory | [DAG Queries](https://www.hackerrank.com/challenges/dag-queries) | Expert | Coming Soon! | +| Algorithms | Graph Theory | [Favorite sequence](https://www.hackerrank.com/challenges/favourite-sequence) | Advanced | Coming Soon! | +| Algorithms | Graph Theory | [Jogging Cats](https://www.hackerrank.com/challenges/cat-jogging) | Advanced | Coming Soon! | +| Algorithms | Graph Theory | [Quadrant Queries](https://www.hackerrank.com/challenges/quadrant-queries) | Advanced | Coming Soon! | +| Algorithms | Graph Theory | [Hacker Country](https://www.hackerrank.com/challenges/hacker-country) | Hard | Coming Soon! | +| Algorithms | Graph Theory | [HackerX](https://www.hackerrank.com/challenges/missile-defend) | Hard | Coming Soon! | +| Algorithms | Graph Theory | [Huarongdao](https://www.hackerrank.com/challenges/huarongdao) | Expert | Coming Soon! | +| Algorithms | Graph Theory | [Training the army](https://www.hackerrank.com/challenges/training-the-army) | Hard | Coming Soon! | +| Algorithms | Graph Theory | [Jim and his LAN Party](https://www.hackerrank.com/challenges/jim-and-his-lan-party) | Hard | Coming Soon! | +| Algorithms | Graph Theory | [Travel in HackerLand](https://www.hackerrank.com/challenges/travel-in-hackerland) | Hard | Coming Soon! | +| Algorithms | Graph Theory | [Alex vs Fedor](https://www.hackerrank.com/challenges/alex-vs-fedor) | Expert | Coming Soon! | +| Algorithms | Graph Theory | [Vertical Paths](https://www.hackerrank.com/challenges/vertical-paths) | Expert | Coming Soon! | +| Algorithms | Graph Theory | [Drive](https://www.hackerrank.com/challenges/drive) | Expert | Coming Soon! | +| Algorithms | Graph Theory | [Travelling Salesman in a Grid](https://www.hackerrank.com/challenges/tsp-grid) | Expert | Coming Soon! | +| Algorithms | Graph Theory | [Road Network](https://www.hackerrank.com/challenges/road-network) | Expert | Coming Soon! | +| Algorithms | Graph Theory | [Going to the Office](https://www.hackerrank.com/challenges/going-office) | Expert | Coming Soon! | +| Algorithms | Graph Theory | [Tree Splitting](https://www.hackerrank.com/challenges/tree-splitting) | Advanced | Coming Soon! | +| Algorithms | Graph Theory | [Ticket](https://www.hackerrank.com/challenges/ticket) | Expert | Coming Soon! | +| Algorithms | Greedy | [Grid Challenge](https://www.hackerrank.com/challenges/grid-challenge) | Easy | Coming Soon! | +| Algorithms | Greedy | [Luck Balance](https://www.hackerrank.com/challenges/luck-balance) | Easy | Coming Soon! | +| Algorithms | Greedy | [Maximum Perimeter Triangle](https://www.hackerrank.com/challenges/maximum-perimeter-triangle) | Easy | Coming Soon! | +| Algorithms | Greedy | [Beautiful Pairs](https://www.hackerrank.com/challenges/beautiful-pairs) | Easy | Coming Soon! | +| Algorithms | Greedy | [Sherlock and The Beast](https://www.hackerrank.com/challenges/sherlock-and-the-beast) | Easy | Coming Soon! | +| Algorithms | Greedy | [Priyanka and Toys](https://www.hackerrank.com/challenges/priyanka-and-toys) | Easy | Coming Soon! | +| Algorithms | Greedy | [Largest Permutation](https://www.hackerrank.com/challenges/largest-permutation) | Easy | Coming Soon! | +| Algorithms | Greedy | [Mark and Toys](https://www.hackerrank.com/challenges/mark-and-toys) | Easy | Coming Soon! | +| Algorithms | Greedy | [Greedy Florist](https://www.hackerrank.com/challenges/greedy-florist) | Medium | Coming Soon! | +| Algorithms | Greedy | [Max Min](https://www.hackerrank.com/challenges/angry-children) | Medium | Coming Soon! | +| Algorithms | Greedy | [Jim and the Orders](https://www.hackerrank.com/challenges/jim-and-the-orders) | Easy | Coming Soon! | +| Algorithms | Greedy | [Permuting Two Arrays](https://www.hackerrank.com/challenges/two-arrays) | Easy | Coming Soon! | +| Algorithms | Greedy | [Cutting Boards](https://www.hackerrank.com/challenges/board-cutting) | Hard | Coming Soon! | +| Algorithms | Greedy | [Reverse Shuffle Merge](https://www.hackerrank.com/challenges/reverse-shuffle-merge) | Advanced | Coming Soon! | +| Algorithms | Greedy | [Goodland Electricity](https://www.hackerrank.com/challenges/pylons) | Medium | Coming Soon! | +| Algorithms | Greedy | [Chief Hopper](https://www.hackerrank.com/challenges/chief-hopper) | Hard | Coming Soon! | +| Algorithms | Greedy | [Sherlock and MiniMax](https://www.hackerrank.com/challenges/sherlock-and-minimax) | Hard | Coming Soon! | +| Algorithms | Greedy | [Accessory Collection](https://www.hackerrank.com/challenges/accessory-collection) | Hard | Coming Soon! | +| Algorithms | Greedy | [Team Formation](https://www.hackerrank.com/challenges/team-formation) | Advanced | Coming Soon! | +| Algorithms | Greedy | [Fighting Pits](https://www.hackerrank.com/challenges/fighting-pits) | Hard | Coming Soon! | +| Algorithms | Dynamic Programming | [The Coin Change Problem](https://www.hackerrank.com/challenges/coin-change) | Hard | Coming Soon! | +| Algorithms | Dynamic Programming | [Equal](https://www.hackerrank.com/challenges/equal) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Sherlock and Cost](https://www.hackerrank.com/challenges/sherlock-and-cost) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Vertical Sticks](https://www.hackerrank.com/challenges/vertical-sticks) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Candies](https://www.hackerrank.com/challenges/candies) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Angry Children 2](https://www.hackerrank.com/challenges/angry-children-2) | Hard | Coming Soon! | +| Algorithms | Dynamic Programming | [Sam and sub-strings](https://www.hackerrank.com/challenges/sam-and-substrings) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Fibonacci Modified](https://www.hackerrank.com/challenges/fibonacci-modified) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Abbreviation](https://www.hackerrank.com/challenges/abbr) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [The Maximum Subarray](https://www.hackerrank.com/challenges/maxsubarray) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Fair Cut](https://www.hackerrank.com/challenges/fair-cut) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [HackerRank City](https://www.hackerrank.com/challenges/hr-city) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Summing Pieces](https://www.hackerrank.com/challenges/summing-pieces) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Mr K marsh](https://www.hackerrank.com/challenges/mr-k-marsh) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Substring Diff](https://www.hackerrank.com/challenges/substring-diff) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Xor and Sum](https://www.hackerrank.com/challenges/xor-and-sum) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Lego Blocks](https://www.hackerrank.com/challenges/lego-blocks) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Brick Tiling](https://www.hackerrank.com/challenges/brick-tiling) | Hard | Coming Soon! | +| Algorithms | Dynamic Programming | [Alien Languages](https://www.hackerrank.com/challenges/alien-languages) | Hard | Coming Soon! | +| Algorithms | Dynamic Programming | [Stock Maximize](https://www.hackerrank.com/challenges/stockmax) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Two Robots](https://www.hackerrank.com/challenges/two-robots) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Cut Tree](https://www.hackerrank.com/challenges/cuttree) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Wet Shark and Two Subsequences](https://www.hackerrank.com/challenges/wet-shark-and-two-subsequences) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Nikita and the Game](https://www.hackerrank.com/challenges/array-splitting) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Mandragora Forest](https://www.hackerrank.com/challenges/mandragora) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Red John is Back](https://www.hackerrank.com/challenges/red-john-is-back) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [LCS Returns](https://www.hackerrank.com/challenges/tutzki-and-lcs) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Grid Walking](https://www.hackerrank.com/challenges/grid-walking) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Knapsack](https://www.hackerrank.com/challenges/unbounded-knapsack) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Bricks Game](https://www.hackerrank.com/challenges/play-game) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [The Longest Increasing Subsequence](https://www.hackerrank.com/challenges/longest-increasing-subsequent) | Advanced | Coming Soon! | +| Algorithms | Dynamic Programming | [Coin on the Table](https://www.hackerrank.com/challenges/coin-on-the-table) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [The Longest Common Subsequence](https://www.hackerrank.com/challenges/dynamic-programming-classics-the-longest-common-subsequence) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Play with words](https://www.hackerrank.com/challenges/strplay) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Black and White Tree](https://www.hackerrank.com/challenges/black-n-white-tree-1) | Hard | Coming Soon! | +| Algorithms | Dynamic Programming | [Counting Special Sub-Cubes](https://www.hackerrank.com/challenges/counting-special-sub-cubes) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Interval Selection](https://www.hackerrank.com/challenges/interval-selection) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [String Reduction](https://www.hackerrank.com/challenges/string-reduction) | Hard | Coming Soon! | +| Algorithms | Dynamic Programming | [Far Vertices](https://www.hackerrank.com/challenges/far-vertices) | Hard | Coming Soon! | +| Algorithms | Dynamic Programming | [Superman Celebrates Diwali](https://www.hackerrank.com/challenges/superman-celebrates-diwali) | Hard | Coming Soon! | +| Algorithms | Dynamic Programming | [Hexagonal Grid](https://www.hackerrank.com/challenges/hexagonal-grid) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Queens on Board](https://www.hackerrank.com/challenges/queens-on-board) | Hard | Coming Soon! | +| Algorithms | Dynamic Programming | [Shashank and the Palindromic Strings](https://www.hackerrank.com/challenges/shashank-and-palindromic-strings) | Advanced | Coming Soon! | +| Algorithms | Dynamic Programming | [Points in a Plane](https://www.hackerrank.com/challenges/points-in-a-plane) | Advanced | Coming Soon! | +| Algorithms | Dynamic Programming | [The Indian Job](https://www.hackerrank.com/challenges/the-indian-job) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Requirement](https://www.hackerrank.com/challenges/requirement) | Advanced | Coming Soon! | +| Algorithms | Dynamic Programming | [A Super Hero](https://www.hackerrank.com/challenges/a-super-hero) | Hard | Coming Soon! | +| Algorithms | Dynamic Programming | [Clues on a Binary Path](https://www.hackerrank.com/challenges/clues-on-a-binary-path) | Hard | Coming Soon! | +| Algorithms | Dynamic Programming | [Road Maintenance](https://www.hackerrank.com/challenges/road-maintenance) | Hard | Coming Soon! | +| Algorithms | Dynamic Programming | [Billboards](https://www.hackerrank.com/challenges/billboards) | Advanced | Coming Soon! | +| Algorithms | Dynamic Programming | [Beautiful Strings](https://www.hackerrank.com/challenges/beautiful-string) | Hard | Coming Soon! | +| Algorithms | Dynamic Programming | [Covering the stains](https://www.hackerrank.com/challenges/covering-the-stains) | Hard | Coming Soon! | +| Algorithms | Dynamic Programming | [Fairy Chess](https://www.hackerrank.com/challenges/fairy-chess) | Advanced | Coming Soon! | +| Algorithms | Dynamic Programming | [Travel around the world](https://www.hackerrank.com/challenges/travel-around-the-world) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [New Year Present](https://www.hackerrank.com/challenges/newyear-present) | Hard | Coming Soon! | +| Algorithms | Dynamic Programming | [Longest Palindromic Subsequence](https://www.hackerrank.com/challenges/longest-palindromic-subsequence) | Hard | Coming Soon! | +| Algorithms | Dynamic Programming | [Candles Counting](https://www.hackerrank.com/challenges/candles-2) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Hyper Strings](https://www.hackerrank.com/challenges/hyper-strings) | Advanced | Coming Soon! | +| Algorithms | Dynamic Programming | [Swap Permutation](https://www.hackerrank.com/challenges/swappermutation) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Extremum Permutations](https://www.hackerrank.com/challenges/extremum-permutations) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Square Subsequences](https://www.hackerrank.com/challenges/square-subsequences) | Hard | Coming Soon! | +| Algorithms | Dynamic Programming | [Dorsey Thief](https://www.hackerrank.com/challenges/dorsey-thief) | Advanced | Coming Soon! | +| Algorithms | Dynamic Programming | [Mining](https://www.hackerrank.com/challenges/mining) | Advanced | Coming Soon! | +| Algorithms | Dynamic Programming | [Police Operation](https://www.hackerrank.com/challenges/police-operation) | Hard | Coming Soon! | +| Algorithms | Dynamic Programming | [Zurikela's Graph](https://www.hackerrank.com/challenges/zurikela) | Hard | Coming Soon! | +| Algorithms | Dynamic Programming | [Modify The Sequence](https://www.hackerrank.com/challenges/modify-the-sequence) | Advanced | Coming Soon! | +| Algorithms | Dynamic Programming | [Longest Mod Path](https://www.hackerrank.com/challenges/longest-mod-path) | Hard | Coming Soon! | +| Algorithms | Dynamic Programming | [P-sequences](https://www.hackerrank.com/challenges/p-sequences) | Hard | Coming Soon! | +| Algorithms | Dynamic Programming | [Robot](https://www.hackerrank.com/challenges/robot) | Advanced | Coming Soon! | +| Algorithms | Dynamic Programming | [Lucky Numbers](https://www.hackerrank.com/challenges/lucky-numbers) | Expert | Coming Soon! | +| Algorithms | Dynamic Programming | [Unfair Game](https://www.hackerrank.com/challenges/unfair-game) | Advanced | Coming Soon! | +| Algorithms | Dynamic Programming | [Oil Well](https://www.hackerrank.com/challenges/oil-well) | Hard | Coming Soon! | +| Algorithms | Dynamic Programming | [Find the Seed](https://www.hackerrank.com/challenges/find-the-seed) | Advanced | Coming Soon! | +| Algorithms | Dynamic Programming | [The Blacklist](https://www.hackerrank.com/challenges/the-blacklist) | Advanced | Coming Soon! | +| Algorithms | Dynamic Programming | [Tree Pruning](https://www.hackerrank.com/challenges/tree-pruning) | Advanced | Coming Soon! | +| Algorithms | Dynamic Programming | [Ones and Twos](https://www.hackerrank.com/challenges/ones-and-twos) | Hard | Coming Soon! | +| Algorithms | Dynamic Programming | [Count Scorecards](https://www.hackerrank.com/challenges/count-scorecards) | Expert | Coming Soon! | +| Algorithms | Dynamic Programming | [Vim War](https://www.hackerrank.com/challenges/vim-war) | Advanced | Coming Soon! | +| Algorithms | Dynamic Programming | [Best spot](https://www.hackerrank.com/challenges/best-spot) | Advanced | Coming Soon! | +| Algorithms | Dynamic Programming | [Divisible Numbers](https://www.hackerrank.com/challenges/divisible-numbers) | Expert | Coming Soon! | +| Algorithms | Dynamic Programming | [Unique Divide And Conquer](https://www.hackerrank.com/challenges/unique-divide-and-conquer) | Advanced | Coming Soon! | +| Algorithms | Dynamic Programming | [King and Four Sons](https://www.hackerrank.com/challenges/happy-king) | Expert | Coming Soon! | +| Algorithms | Dynamic Programming | [Dortmund Dilemma](https://www.hackerrank.com/challenges/dortmund-dilemma) | Advanced | Coming Soon! | +| Algorithms | Dynamic Programming | [Super Kth LIS](https://www.hackerrank.com/challenges/super-kth-lis) | Advanced | Coming Soon! | +| Algorithms | Dynamic Programming | [Counting the Ways](https://www.hackerrank.com/challenges/count-ways-1) | Expert | Coming Soon! | +| Algorithms | Dynamic Programming | [Hard Disk Drives](https://www.hackerrank.com/challenges/hard-drive-disks) | Expert | Coming Soon! | +| Algorithms | Dynamic Programming | [Separate the chocolate](https://www.hackerrank.com/challenges/separate-the-chocolate) | Expert | Coming Soon! | +| Algorithms | Constructive Algorithms | [Flipping the Matrix](https://www.hackerrank.com/challenges/flipping-the-matrix) | Medium | Coming Soon! | +| Algorithms | Constructive Algorithms | [New Year Chaos](https://www.hackerrank.com/challenges/new-year-chaos) | Medium | Coming Soon! | +| Algorithms | Constructive Algorithms | [Bonetrousle](https://www.hackerrank.com/challenges/bonetrousle) | Medium | Coming Soon! | +| Algorithms | Constructive Algorithms | [Yet Another KMP Problem](https://www.hackerrank.com/challenges/kmp-problem) | Hard | Coming Soon! | +| Algorithms | Constructive Algorithms | [Beautiful 3 Set](https://www.hackerrank.com/challenges/beautiful-3-set) | Hard | Coming Soon! | +| Algorithms | Constructive Algorithms | [Inverse RMQ](https://www.hackerrank.com/challenges/inverse-rmq) | Hard | Coming Soon! | +| Algorithms | Constructive Algorithms | [Lovely Triplets](https://www.hackerrank.com/challenges/lovely-triplets) | Advanced | Coming Soon! | +| Algorithms | Constructive Algorithms | [Array Construction](https://www.hackerrank.com/challenges/array-construction) | Advanced | Coming Soon! | +| Algorithms | Bit Manipulation | [Lonely Integer](https://www.hackerrank.com/challenges/lonely-integer) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Bit%20Manipulation/Lonely%20Integer/Solution.java) | +| Algorithms | Bit Manipulation | [Maximizing XOR](https://www.hackerrank.com/challenges/maximizing-xor) | Easy | Coming Soon! | +| Algorithms | Bit Manipulation | [Counter game](https://www.hackerrank.com/challenges/counter-game) | Medium | Coming Soon! | +| Algorithms | Bit Manipulation | [Xor-sequence](https://www.hackerrank.com/challenges/xor-se) | Medium | Coming Soon! | +| Algorithms | Bit Manipulation | [Sum vs XOR](https://www.hackerrank.com/challenges/sum-vs-xor) | Easy | Coming Soon! | +| Algorithms | Bit Manipulation | [Flipping bits](https://www.hackerrank.com/challenges/flipping-bits) | Easy | Coming Soon! | +| Algorithms | Bit Manipulation | [Yet Another Minimax Problem](https://www.hackerrank.com/challenges/yet-another-minimax-problem) | Medium | Coming Soon! | +| Algorithms | Bit Manipulation | [Sansa and XOR](https://www.hackerrank.com/challenges/sansa-and-xor) | Medium | Coming Soon! | +| Algorithms | Bit Manipulation | [AND Product](https://www.hackerrank.com/challenges/and-product) | Medium | Coming Soon! | +| Algorithms | Bit Manipulation | [Xoring Ninja](https://www.hackerrank.com/challenges/xoring-ninja) | Hard | Coming Soon! | +| Algorithms | Bit Manipulation | [Cipher](https://www.hackerrank.com/challenges/cipher) | Medium | Coming Soon! | +| Algorithms | Bit Manipulation | [XOR Matrix](https://www.hackerrank.com/challenges/xor-matrix) | Hard | Coming Soon! | +| Algorithms | Bit Manipulation | [What's Next](https://www.hackerrank.com/challenges/whats-next) | Medium | Coming Soon! | +| Algorithms | Bit Manipulation | [String Transmission](https://www.hackerrank.com/challenges/string-transmission) | Hard | Coming Soon! | +| Algorithms | Bit Manipulation | [A or B](https://www.hackerrank.com/challenges/aorb) | Medium | Coming Soon! | +| Algorithms | Bit Manipulation | [Manipulative Numbers](https://www.hackerrank.com/challenges/manipulative-numbers) | Hard | Coming Soon! | +| Algorithms | Bit Manipulation | [Stone game](https://www.hackerrank.com/challenges/stonegame) | Hard | Coming Soon! | +| Algorithms | Bit Manipulation | [2's complement](https://www.hackerrank.com/challenges/2s-complement) | Advanced | Coming Soon! | +| Algorithms | Bit Manipulation | [Changing Bits](https://www.hackerrank.com/challenges/changing-bits) | Advanced | Coming Soon! | +| Algorithms | Bit Manipulation | [XOR key](https://www.hackerrank.com/challenges/xor-key) | Advanced | Coming Soon! | +| Algorithms | Bit Manipulation | [Maximizing the Function](https://www.hackerrank.com/challenges/maximizing-the-function) | Hard | Coming Soon! | +| Algorithms | Bit Manipulation | [XOR Subsequences](https://www.hackerrank.com/challenges/xor-subsequence) | Advanced | Coming Soon! | +| Algorithms | Bit Manipulation | [Iterate It](https://www.hackerrank.com/challenges/iterate-it) | Expert | Coming Soon! | +| Algorithms | Bit Manipulation | [Hamming Distance](https://www.hackerrank.com/challenges/hamming-distance) | Expert | Coming Soon! | +| Algorithms | Bit Manipulation | [Mixing proteins](https://www.hackerrank.com/challenges/pmix) | Hard | Coming Soon! | +| Algorithms | Recursion | [Simplified Chess Engine](https://www.hackerrank.com/challenges/simplified-chess-engine) | Medium | Coming Soon! | +| Algorithms | Recursion | [Repetitive K-Sums](https://www.hackerrank.com/challenges/repeat-k-sums) | Advanced | Coming Soon! | +| Algorithms | Game Theory | [Game of Stones](https://www.hackerrank.com/challenges/game-of-stones-1) | Easy | Coming Soon! | +| Algorithms | Game Theory | [Tower Breakers](https://www.hackerrank.com/challenges/tower-breakers-1) | Easy | Coming Soon! | +| Algorithms | Game Theory | [A Chessboard Game](https://www.hackerrank.com/challenges/a-chessboard-game-1) | Easy | Coming Soon! | +| Algorithms | Game Theory | [Introduction to Nim Game](https://www.hackerrank.com/challenges/nim-game-1) | Easy | Coming Soon! | +| Algorithms | Game Theory | [Misčre Nim](https://www.hackerrank.com/challenges/misere-nim-1) | Easy | Coming Soon! | +| Algorithms | Game Theory | [Nimble Game](https://www.hackerrank.com/challenges/nimble-game-1) | Easy | Coming Soon! | +| Algorithms | Game Theory | [Poker Nim](https://www.hackerrank.com/challenges/poker-nim-1) | Easy | Coming Soon! | +| Algorithms | Game Theory | [Tower Breakers, Revisited!](https://www.hackerrank.com/challenges/tower-breakers-revisited-1) | Medium | Coming Soon! | +| Algorithms | Game Theory | [Tower Breakers, Again!](https://www.hackerrank.com/challenges/tower-breakers-again-1) | Medium | Coming Soon! | +| Algorithms | Game Theory | [Chessboard Game, Again!](https://www.hackerrank.com/challenges/chessboard-game-again-1) | Medium | Coming Soon! | +| Algorithms | Game Theory | [Digits Square Board](https://www.hackerrank.com/challenges/digits-square-board-1) | Medium | Coming Soon! | +| Algorithms | Game Theory | [Fun Game](https://www.hackerrank.com/challenges/fun-game-1) | Medium | Coming Soon! | +| Algorithms | Game Theory | [Stone Division](https://www.hackerrank.com/challenges/stone-division) | Hard | Coming Soon! | +| Algorithms | Game Theory | [Chocolate in Box](https://www.hackerrank.com/challenges/chocolate-in-box) | Medium | Coming Soon! | +| Algorithms | Game Theory | [Kitty and Katty](https://www.hackerrank.com/challenges/kitty-and-katty) | Medium | Coming Soon! | +| Algorithms | Game Theory | [Powers Game](https://www.hackerrank.com/challenges/powers-game-1) | Medium | Coming Soon! | +| Algorithms | Game Theory | [Deforestation](https://www.hackerrank.com/challenges/deforestation-1) | Medium | Coming Soon! | +| Algorithms | Game Theory | [Bob and Ben](https://www.hackerrank.com/challenges/bob-and-ben) | Medium | Coming Soon! | +| Algorithms | Game Theory | [Tower Breakers - The Final Battle](https://www.hackerrank.com/challenges/tower-breakers-the-final-battle-1) | Medium | Coming Soon! | +| Algorithms | Game Theory | [Simple Game](https://www.hackerrank.com/challenges/simple-game) | Hard | Coming Soon! | +| Algorithms | Game Theory | [Permutation game](https://www.hackerrank.com/challenges/permutation-game) | Medium | Coming Soon! | +| Algorithms | Game Theory | [Move the Coins](https://www.hackerrank.com/challenges/move-the-coins) | Hard | Coming Soon! | +| Algorithms | Game Theory | [Play on benders](https://www.hackerrank.com/challenges/benders-play) | Medium | Coming Soon! | +| Algorithms | Game Theory | [New Year Game](https://www.hackerrank.com/challenges/newyear-game) | Medium | Coming Soon! | +| Algorithms | Game Theory | [Stone Piles](https://www.hackerrank.com/challenges/stone-piles) | Hard | Coming Soon! | +| Algorithms | Game Theory | [Chocolate Game](https://www.hackerrank.com/challenges/chocolate-game) | Hard | Coming Soon! | +| Algorithms | Game Theory | [Manasa and Prime game](https://www.hackerrank.com/challenges/manasa-and-prime-game) | Hard | Coming Soon! | +| Algorithms | Game Theory | [Vertical Rooks](https://www.hackerrank.com/challenges/vertical-rooks) | Medium | Coming Soon! | +| Algorithms | Game Theory | [A stones game](https://www.hackerrank.com/challenges/half) | Medium | Coming Soon! | +| Algorithms | NP Complete | [Walking the Approximate Longest Path](https://www.hackerrank.com/challenges/walking-the-approximate-longest-path) | Hard | Coming Soon! | +| Algorithms | NP Complete | [Spies, Revisited](https://www.hackerrank.com/challenges/spies-revised) | Expert | Coming Soon! | +| Algorithms | NP Complete | [TBS Problem](https://www.hackerrank.com/challenges/tbsp) | Expert | Coming Soon! | diff --git a/Algorithms/Search/Connected Cells in a Grid/Solution.java b/Algorithms/Search/Connected Cells in a Grid/Solution.java new file mode 100644 index 0000000..98ec868 --- /dev/null +++ b/Algorithms/Search/Connected Cells in a Grid/Solution.java @@ -0,0 +1,72 @@ +// Author: Rodney Shaghoulian +// Github: github.com/rshaghoulian +// HackerRank: hackerrank.com/rshaghoulian + +import java.util.Scanner; +import java.util.ArrayList; + +/* Tips: +1) Instead of using a "boolean[][] visited" array, we alter our original grid +2) Dont create a 2-D "Point" or "Cell" class. It's not necessary. +*/ +public class Solution { + + private static int rows; // here for convenience + private static int cols; // here for convenience + + public static void main(String[] args) { + /* Read and save grid */ + Scanner scan = new Scanner(System.in); + rows = scan.nextInt(); + cols = scan.nextInt(); + int grid[][] = new int[rows][cols]; + for (int grid_i = 0; grid_i < rows; grid_i++) { + for (int grid_j = 0; grid_j < cols; grid_j++) { + grid[grid_i][grid_j] = scan.nextInt(); + } + } + scan.close(); + + System.out.println(largestRegion(grid)); + } + + /* Returns the size of the largest region */ + public static int largestRegion(int [][] grid) { + int maxRegion = 0; + + /* From each filled cell, find the largest region from that cell */ + for (int row = 0; row < rows; row++) { + for (int col = 0; col < cols; col++) { + if (grid[row][col] == 1) { + int size = findLargestRegion(grid, row, col); + maxRegion = Math.max(maxRegion, size); + } + } + } + return maxRegion; + } + + private static int findLargestRegion(int [][] grid, int row, int col) { + /* Pro tip: put boundary checks at top of recursive call, + instead of before doing recursive call */ + if (row < 0 || row >= rows || col < 0 || col >= cols) { + return 0; + } else if (grid[row][col] == 0) { + return 0; + } + + grid[row][col] = 0; // we alter the original matrix here + int size = 1; // 1 accounts for our size + + /* Accounts recursively for neighbors sizes */ + for (int r = row - 1; r <= row + 1; r++) { + for (int c = col - 1; c <= col + 1; c++) { + if ( ! (r == 0 && c == 0)) { + size += findLargestRegion(grid, r, c); + } + } + } + + return size; + } +} diff --git a/Algorithms/Search/Ice Cream Parlor/Solution.java b/Algorithms/Search/Ice Cream Parlor/Solution.java new file mode 100644 index 0000000..14c44b4 --- /dev/null +++ b/Algorithms/Search/Ice Cream Parlor/Solution.java @@ -0,0 +1,46 @@ +// Author: Rodney Shaghoulian +// Github: github.com/rshaghoulian +// HackerRank: hackerrank.com/rshaghoulian + +import java.util.Scanner; +import java.util.HashMap; + +/* Runtime: O(n) using HashMap */ +public class Solution { + + public static void buyIceCream(int [] costs, int money) { + HashMap map = new HashMap<>(); // key = cost, value = ice cream ID + + for (int i = 0; i < costs.length; i++) { + int icecreamID = i + 1; + int cost = costs[i]; + int otherCost = money - cost; + + /* Find 2 flavors to buy that sum to "money" */ + if (map.containsKey(otherCost)) { + System.out.println(map.get(otherCost) + " " + icecreamID); + } + + /* Update HashMap */ + if ( ! map.containsKey(cost)) { + map.put(cost, icecreamID); + } + } + } + + public static void main(String[] args) { + Scanner scan = new Scanner(System.in); + int t = scan.nextInt(); + for(int a0 = 0; a0 < t; a0++){ + int m = scan.nextInt(); + int n = scan.nextInt(); + int a[] = new int[n]; + for(int a_i=0; a_i < n; a_i++) { + a[a_i] = scan.nextInt(); + } + + buyIceCream(a, m); + } + scan.close(); + } +} diff --git a/Algorithms/Sorting/Intro to Tutorial Challenges/Solution.java b/Algorithms/Sorting/Intro to Tutorial Challenges/Solution.java new file mode 100644 index 0000000..f47a5eb --- /dev/null +++ b/Algorithms/Sorting/Intro to Tutorial Challenges/Solution.java @@ -0,0 +1,20 @@ +// Author: Rodney Shaghoulian +// Github: github.com/rshaghoulian +// HackerRank: hackerrank.com/rshaghoulian + +import java.util.Scanner; + +public class Solution { + public static void main(String[] args) { + Scanner scan = new Scanner(System.in); + int V = scan.nextInt(); + int n = scan.nextInt(); + for (int i = 0; i < n; i++) { + if (scan.nextInt() == V) { + System.out.println(i); + break; + } + } + scan.close(); + } +} diff --git a/Algorithms/Strings/CamelCase/Solution.java b/Algorithms/Strings/CamelCase/Solution.java new file mode 100644 index 0000000..b955f3e --- /dev/null +++ b/Algorithms/Strings/CamelCase/Solution.java @@ -0,0 +1,26 @@ +// Author: Rodney Shaghoulian +// Github: github.com/rshaghoulian +// HackerRank: hackerrank.com/rshaghoulian + +import java.util.Scanner; + +public class Solution { + + public static void main(String[] args) { + Scanner scan = new Scanner(System.in); + String str = scan.next(); + scan.close(); + System.out.println(numWords(str)); + } + + private static int numWords(String str) { + int count = 1; + for (int i = 0; i < str.length(); i++) { + char ch = str.charAt(i); + if (ch >= 'A' && ch <= 'Z') { + count++; + } + } + return count; + } +} diff --git a/Algorithms/Strings/Making Anagrams/Solution.java b/Algorithms/Strings/Making Anagrams/Solution.java new file mode 100644 index 0000000..2172de7 --- /dev/null +++ b/Algorithms/Strings/Making Anagrams/Solution.java @@ -0,0 +1,42 @@ +// Author: Rodney Shaghoulian +// Github: github.com/rshaghoulian +// HackerRank: hackerrank.com/rshaghoulian + +import java.util.Scanner; + +public class Solution { + private static final int NUM_LETTERS = 26; // we assume lower-case letters only + + public static int numberNeeded(String first, String second) { + /* For each string, create an array of the count of each character */ + int [] array1 = createFilledArray(first); + int [] array2 = createFilledArray(second); + + /* Count number of deletions we need to make the Strings anagrams of each other */ + int deletions = 0; + for (int i = 0; i < NUM_LETTERS; i++) { + deletions += Math.abs(array1[i] - array2[i]); + } + return deletions; + } + + /* Creates an array with the count of each character */ + private static int [] createFilledArray(String str) { + int [] array = new int[NUM_LETTERS]; + for (int i = 0; i < str.length(); i++) { + char ch = str.charAt(i); + array[ch - 'a']++; + } + return array; + } + + public static void main(String[] args) { + /* Read input */ + Scanner scan = new Scanner(System.in); + String a = scan.next(); + String b = scan.next(); + scan.close(); + + System.out.println(numberNeeded(a, b)); + } +} diff --git a/Algorithms/Strings/Super Reduced String/Solution.java b/Algorithms/Strings/Super Reduced String/Solution.java new file mode 100644 index 0000000..44efdb7 --- /dev/null +++ b/Algorithms/Strings/Super Reduced String/Solution.java @@ -0,0 +1,38 @@ +// Author: Rodney Shaghoulian +// Github: github.com/rshaghoulian +// HackerRank: hackerrank.com/rshaghoulian + +import java.util.Scanner; +import java.util.Stack; + +// Runtime: O(n) +// Space Complexity: O(n) + +public class Solution { + public static void main(String[] args) { + /* Read and save input */ + Scanner scan = new Scanner(System.in); + String str = scan.next(); + scan.close(); + + /* Iterate through String, creating final result in a Stack */ + Stack stack = new Stack<>(); + for (int i = 0; i < str.length(); i++) { + Character ch = str.charAt(i); + if (!stack.isEmpty() && ch == stack.peek()) { + stack.pop(); // since String has 2 adjacent equal characters + } else { + stack.push(ch); + } + } + + /* Print final result */ + if (stack.isEmpty()) { + System.out.println("Empty String"); + } else { + for (char ch : stack) { + System.out.print(ch); + } + } + } +} diff --git a/Algorithms/Implementation/Mini-Max Sum/Solution.java b/Algorithms/Warmup/Mini-Max Sum/Solution.java similarity index 100% rename from Algorithms/Implementation/Mini-Max Sum/Solution.java rename to Algorithms/Warmup/Mini-Max Sum/Solution.java diff --git a/Cracking the Coding Interview/README.md b/Cracking the Coding Interview/README.md index f16736b..4b053da 100644 --- a/Cracking the Coding Interview/README.md +++ b/Cracking the Coding Interview/README.md @@ -2,23 +2,23 @@ | Domain | Subdomain | Topic | Challenge | Difficulty | Solution | |:---------:|:-----------------------------:|:---------------------:|:--------------------------------------------------------------------------------------------------------:|:----------:|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:| -| Tutorials | Cracking the Coding Interview | Data Structures | [Arrays: Left Rotation](https://www.hackerrank.com/challenges/ctci-array-left-rotation) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Data%20Structures/Arrays%20-%20Left%20Rotation/Solution.java) | -| Tutorials | Cracking the Coding Interview | Data Structures | [Strings: Making Anagrams](https://www.hackerrank.com/challenges/ctci-making-anagrams) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Data%20Structures/Strings%20-%20Making%20Anagrams/Solution.java) | -| Tutorials | Cracking the Coding Interview | Data Structures | [Hash Tables: Ransom Note](https://www.hackerrank.com/challenges/ctci-ransom-note) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Data%20Structures/Hash%20Tables%20-%20Ransom%20Note/Solution.java) | -| Tutorials | Cracking the Coding Interview | Data Structures | [Linked Lists: Detect a Cycle](https://www.hackerrank.com/challenges/ctci-linked-list-cycle) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Data%20Structures/Linked%20Lists%20-%20Detect%20a%20Cycle/Solution.java) | -| Tutorials | Cracking the Coding Interview | Data Structures | [Stacks: Balanced Brackets](https://www.hackerrank.com/challenges/ctci-balanced-brackets) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Data%20Structures/Stacks%20-%20Balanced%20Brackets/Solution.java) | -| Tutorials | Cracking the Coding Interview | Data Structures | [Queues: A Tale of Two Stacks](https://www.hackerrank.com/challenges/ctci-queue-using-two-stacks) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Data%20Structures/Queue%20-%20A%20Tale%20of%20Two%20Stacks/Solution.java) | +| Tutorials | Cracking the Coding Interview | Data Structures | [Arrays: Left Rotation](https://www.hackerrank.com/challenges/ctci-array-left-rotation) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Data%20Structures/Arrays%20-%20Left%20Rotation/Solution.java) | +| Tutorials | Cracking the Coding Interview | Data Structures | [Strings: Making Anagrams](https://www.hackerrank.com/challenges/ctci-making-anagrams) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Data%20Structures/Strings%20-%20Making%20Anagrams/Solution.java) | +| Tutorials | Cracking the Coding Interview | Data Structures | [Hash Tables: Ransom Note](https://www.hackerrank.com/challenges/ctci-ransom-note) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Data%20Structures/Hash%20Tables%20-%20Ransom%20Note/Solution.java) | +| Tutorials | Cracking the Coding Interview | Data Structures | [Linked Lists: Detect a Cycle](https://www.hackerrank.com/challenges/ctci-linked-list-cycle) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Data%20Structures/Linked%20Lists%20-%20Detect%20a%20Cycle/Solution.java) | +| Tutorials | Cracking the Coding Interview | Data Structures | [Stacks: Balanced Brackets](https://www.hackerrank.com/challenges/ctci-balanced-brackets) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Data%20Structures/Stacks%20-%20Balanced%20Brackets/Solution.java) | +| Tutorials | Cracking the Coding Interview | Data Structures | [Queues: A Tale of Two Stacks](https://www.hackerrank.com/challenges/ctci-queue-using-two-stacks) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Data%20Structures/Queue%20-%20A%20Tale%20of%20Two%20Stacks/Solution.java) | | Tutorials | Cracking the Coding Interview | Data Structures | [Trees: Is This a Binary Search Tree?](https://www.hackerrank.com/challenges/ctci-is-binary-search-tree) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Data%20Structures/Trees%20-%20Is%20This%20a%20Binary%20Search%20Tree/Solution.java) | -| Tutorials | Cracking the Coding Interview | Data Structures | [Heaps: Find the Running Median](https://www.hackerrank.com/challenges/ctci-find-the-running-median) | Hard | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Data%20Structures/Heaps%20-%20Find%20the%20Running%20Median/Solution.java) | -| Tutorials | Cracking the Coding Interview | Data Structures | [Tries: Contacts](https://www.hackerrank.com/challenges/ctci-contacts) | Hard | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Data%20Structures/Tries%20-%20Contacts/Solution.java) | -| Tutorials | Cracking the Coding Interview | Algorithms | [Sorting: Bubble Sort](https://www.hackerrank.com/challenges/ctci-bubble-sort) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Algorithms/Sorting%20-%20Bubble%20Sort/Solution.java) | -| Tutorials | Cracking the Coding Interview | Algorithms | [Sorting: Comparator](https://www.hackerrank.com/challenges/ctci-comparator-sorting) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Algorithms/Sorting%20-%20Comparator/Solution.java) | -| Tutorials | Cracking the Coding Interview | Algorithms | [Merge Sort: Counting Inversions](https://www.hackerrank.com/challenges/ctci-merge-sort) | Hard | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Algorithms/Merge%20Sort%20-%20Counting%20Inversions/Solution.java) | -| Tutorials | Cracking the Coding Interview | Algorithms | [Binary Search: Ice Cream Parlor](https://www.hackerrank.com/challenges/ctci-ice-cream-parlor) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Algorithms/Binary%20Search%20-%20Ice%20Cream%20Parlor/Solution.java) | -| Tutorials | Cracking the Coding Interview | Algorithms | [DFS: Connected Cell in a Grid](https://www.hackerrank.com/challenges/ctci-connected-cell-in-a-grid) | Hard | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Algorithms/DFS%20-%20Connected%20Cell%20in%20a%20Grid/Solution.java) | -| Tutorials | Cracking the Coding Interview | Algorithms | [BFS: Shortest Reach in a Graph](https://www.hackerrank.com/challenges/ctci-bfs-shortest-reach) | Hard | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Algorithms/BFS%20-%20Shortest%20Reach%20in%20a%20Graph/Solution.java) | -| Tutorials | Cracking the Coding Interview | Techniques / Concepts | [Time Complexity: Primality](https://www.hackerrank.com/challenges/ctci-big-o) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Techniques%2C%20Concepts/Time%20Complexity%20-%20Primality/Solution.java) | -| Tutorials | Cracking the Coding Interview | Techniques / Concepts | [Recrusion: Fibonacci Numbers](https://www.hackerrank.com/challenges/ctci-fibonacci-numbers) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Techniques%2C%20Concepts/Recursion%20-%20Fibonacci%20Numbers/Solution.java) | -| Tutorials | Cracking the Coding Interview | Techniques / Concepts | [Recursion: Davis' Staircase](https://www.hackerrank.com/challenges/ctci-recursive-staircase) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Techniques%2C%20Concepts/Recursion%20-%20Davis'%20Staircase/Solution.java) | -| Tutorials | Cracking the Coding Interview | Techniques / Concepts | [DP: Coin Change](https://www.hackerrank.com/challenges/ctci-coin-change) | Hard | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Techniques%2C%20Concepts/DP%20-%20Coin%20Change/Solution.java) | -| Tutorials | Cracking the Coding Interview | Techniques / Concepts | [Bit Manipulation: Lonely Integer](https://www.hackerrank.com/challenges/ctci-lonely-integer) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Techniques%2C%20Concepts/Bit%20Manipulation%20-%20Lonely%20Integer/Solution.java) | +| Tutorials | Cracking the Coding Interview | Data Structures | [Heaps: Find the Running Median](https://www.hackerrank.com/challenges/ctci-find-the-running-median) | Hard | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Data%20Structures/Heaps%20-%20Find%20the%20Running%20Median/Solution.java) | +| Tutorials | Cracking the Coding Interview | Data Structures | [Tries: Contacts](https://www.hackerrank.com/challenges/ctci-contacts) | Hard | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Data%20Structures/Tries%20-%20Contacts/Solution.java) | +| Tutorials | Cracking the Coding Interview | Algorithms | [Sorting: Bubble Sort](https://www.hackerrank.com/challenges/ctci-bubble-sort) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Algorithms/Sorting%20-%20Bubble%20Sort/Solution.java) | +| Tutorials | Cracking the Coding Interview | Algorithms | [Sorting: Comparator](https://www.hackerrank.com/challenges/ctci-comparator-sorting) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Algorithms/Sorting%20-%20Comparator/Solution.java) | +| Tutorials | Cracking the Coding Interview | Algorithms | [Merge Sort: Counting Inversions](https://www.hackerrank.com/challenges/ctci-merge-sort) | Hard | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Algorithms/Merge%20Sort%20-%20Counting%20Inversions/Solution.java) | +| Tutorials | Cracking the Coding Interview | Algorithms | [Binary Search: Ice Cream Parlor](https://www.hackerrank.com/challenges/ctci-ice-cream-parlor) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Algorithms/Binary%20Search%20-%20Ice%20Cream%20Parlor/Solution.java) | +| Tutorials | Cracking the Coding Interview | Algorithms | [DFS: Connected Cell in a Grid](https://www.hackerrank.com/challenges/ctci-connected-cell-in-a-grid) | Hard | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Algorithms/DFS%20-%20Connected%20Cell%20in%20a%20Grid/Solution.java) | +| Tutorials | Cracking the Coding Interview | Algorithms | [BFS: Shortest Reach in a Graph](https://www.hackerrank.com/challenges/ctci-bfs-shortest-reach) | Hard | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Algorithms/BFS%20-%20Shortest%20Reach%20in%20a%20Graph/Solution.java) | +| Tutorials | Cracking the Coding Interview | Techniques / Concepts | [Time Complexity: Primality](https://www.hackerrank.com/challenges/ctci-big-o) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Techniques%2C%20Concepts/Time%20Complexity%20-%20Primality/Solution.java) | +| Tutorials | Cracking the Coding Interview | Techniques / Concepts | [Recrusion: Fibonacci Numbers](https://www.hackerrank.com/challenges/ctci-fibonacci-numbers) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Techniques%2C%20Concepts/Recursion%20-%20Fibonacci%20Numbers/Solution.java) | +| Tutorials | Cracking the Coding Interview | Techniques / Concepts | [Recursion: Davis' Staircase](https://www.hackerrank.com/challenges/ctci-recursive-staircase) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Techniques%2C%20Concepts/Recursion%20-%20Davis'%20Staircase/Solution.java) | +| Tutorials | Cracking the Coding Interview | Techniques / Concepts | [DP: Coin Change](https://www.hackerrank.com/challenges/ctci-coin-change) | Hard | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Techniques%2C%20Concepts/DP%20-%20Coin%20Change/Solution.java) | +| Tutorials | Cracking the Coding Interview | Techniques / Concepts | [Bit Manipulation: Lonely Integer](https://www.hackerrank.com/challenges/ctci-lonely-integer) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Techniques%2C%20Concepts/Bit%20Manipulation%20-%20Lonely%20Integer/Solution.java) | diff --git a/Cracking the Coding Interview/Techniques, Concepts/Recursion - Fibonacci Numbers/Solution.java b/Cracking the Coding Interview/Techniques, Concepts/Recursion - Fibonacci Numbers/Solution.java index 22b60f3..8e969fa 100644 --- a/Cracking the Coding Interview/Techniques, Concepts/Recursion - Fibonacci Numbers/Solution.java +++ b/Cracking the Coding Interview/Techniques, Concepts/Recursion - Fibonacci Numbers/Solution.java @@ -5,22 +5,23 @@ import java.util.Scanner; public class Solution { - + // Runtime: O(n) + // Space Complexity: O(1) public static int fibonacci(int n) { - int prev = 1; - int curr = 0; - for (int i = 0; i < n; i++) { + int prev = 0; + int curr = 1; + for (int i = 2; i <= n; i++) { int next = prev + curr; prev = curr; curr = next; } return curr; } - + public static void main(String[] args) { - Scanner scanner = new Scanner(System.in); - int n = scanner.nextInt(); - scanner.close(); + Scanner scan = new Scanner(System.in); + int n = scan.nextInt(); + scan.close(); System.out.println(fibonacci(n)); } } diff --git a/Data Structures/README.md b/Data Structures/README.md index 915d447..b3bbdf3 100644 --- a/Data Structures/README.md +++ b/Data Structures/README.md @@ -2,110 +2,110 @@ | Domain | Subdomain | Challenge | Difficulty | Solution | |:---------------:|:---------------:|:------------------------------------------------------------------------------------------------------------------------------------------------------:|:---------------:|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:| -| Data Structures | Arrays | [Arrays - DS](https://www.hackerrank.com/challenges/arrays-ds) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Arrays/Arrays%20-%20DS/Solution.java) | -| Data Structures | Arrays | [2D Array - DS](https://www.hackerrank.com/challenges/2d-array) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Arrays/2D%20Array%20-%20DS/Solution.java) | -| Data Structures | Arrays | [Dynamic Array](https://www.hackerrank.com/challenges/dynamic-array) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Arrays/Dynamic%20Array/Solution.java) | -| Data Structures | Arrays | [Left Rotation](https://www.hackerrank.com/challenges/array-left-rotation) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Arrays/Left%20Rotation/Solution.java) | -| Data Structures | Arrays | [Sparse Arrays](https://www.hackerrank.com/challenges/sparse-arrays) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Arrays/Sparse%20Arrays/Solution.java) | -| Data Structures | Arrays | [Algorithmic Crush](https://www.hackerrank.com/challenges/crush) | Hard | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Arrays/Algorithmic%20Crush/Solution.java) | -| Data Structures | Linked List | [Print the Elements of a Linked List](https://www.hackerrank.com/challenges/print-the-elements-of-a-linked-list) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Linked%20Lists/Print%20the%20Elements%20of%20a%20Linked%20List/Solution.java) | -| Data Structures | Linked List | [Insert a Node at the Tail of a Linked List](https://www.hackerrank.com/challenges/insert-a-node-at-the-tail-of-a-linked-list) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Linked%20Lists/Insert%20a%20Node%20at%20the%20Tail%20of%20a%20Linked%20List/Solution.java) | -| Data Structures | Linked List | [Insert a node at the head of a linked list](https://www.hackerrank.com/challenges/insert-a-node-at-the-head-of-a-linked-list) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Linked%20Lists/Insert%20a%20node%20at%20the%20head%20of%20a%20linked%20list/Solution.java) | +| Data Structures | Arrays | [Arrays - DS](https://www.hackerrank.com/challenges/arrays-ds) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Arrays/Arrays%20-%20DS/Solution.java) | +| Data Structures | Arrays | [2D Array - DS](https://www.hackerrank.com/challenges/2d-array) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Arrays/2D%20Array%20-%20DS/Solution.java) | +| Data Structures | Arrays | [Dynamic Array](https://www.hackerrank.com/challenges/dynamic-array) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Arrays/Dynamic%20Array/Solution.java) | +| Data Structures | Arrays | [Left Rotation](https://www.hackerrank.com/challenges/array-left-rotation) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Arrays/Left%20Rotation/Solution.java) | +| Data Structures | Arrays | [Sparse Arrays](https://www.hackerrank.com/challenges/sparse-arrays) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Arrays/Sparse%20Arrays/Solution.java) | +| Data Structures | Arrays | [Algorithmic Crush](https://www.hackerrank.com/challenges/crush) | Hard | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Arrays/Algorithmic%20Crush/Solution.java) | +| Data Structures | Linked List | [Print the Elements of a Linked List](https://www.hackerrank.com/challenges/print-the-elements-of-a-linked-list) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Linked%20Lists/Print%20the%20Elements%20of%20a%20Linked%20List/Solution.java) | +| Data Structures | Linked List | [Insert a Node at the Tail of a Linked List](https://www.hackerrank.com/challenges/insert-a-node-at-the-tail-of-a-linked-list) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Linked%20Lists/Insert%20a%20Node%20at%20the%20Tail%20of%20a%20Linked%20List/Solution.java) | +| Data Structures | Linked List | [Insert a node at the head of a linked list](https://www.hackerrank.com/challenges/insert-a-node-at-the-head-of-a-linked-list) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Linked%20Lists/Insert%20a%20node%20at%20the%20head%20of%20a%20linked%20list/Solution.java) | | Data Structures | Linked List | [Insert a node at a specific position in a linked list](https://www.hackerrank.com/challenges/insert-a-node-at-a-specific-position-in-a-linked-list) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Linked%20Lists/Insert%20a%20node%20at%20a%20specific%20position%20in%20a%20linked%20list/Solution.java) | -| Data Structures | Linked List | [Delete a Node](https://www.hackerrank.com/challenges/delete-a-node-from-a-linked-list) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Linked%20Lists/Delete%20a%20Node/Solution.java) | -| Data Structures | Linked List | [Print in Reverse](https://www.hackerrank.com/challenges/print-the-elements-of-a-linked-list-in-reverse) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Linked%20Lists/Print%20in%20Reverse/Solution.java) | -| Data Structures | Linked List | [Reverse a linked list](https://www.hackerrank.com/challenges/reverse-a-linked-list) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Linked%20Lists/Reverse%20a%20linked%20list/Solution.java) | -| Data Structures | Linked List | [Compare two linked lists](https://www.hackerrank.com/challenges/compare-two-linked-lists) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Linked%20Lists/Compare%20two%20linked%20lists/Solution.java) | -| Data Structures | Linked List | [Merge two sorted linked lists](https://www.hackerrank.com/challenges/merge-two-sorted-linked-lists) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Linked%20Lists/Merge%20two%20sorted%20linked%20lists/Solution.java) | -| Data Structures | Linked List | [Get Node Value](https://www.hackerrank.com/challenges/get-the-value-of-the-node-at-a-specific-position-from-the-tail) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Linked%20Lists/Get%20Node%20Value/Solution.java) | -| Data Structures | Linked List | [Delete duplicate-value nodes from a sorted linked list](https://www.hackerrank.com/challenges/delete-duplicate-value-nodes-from-a-sorted-linked-list) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Linked%20Lists/Delete%20duplicate-value%20nodes%20from%20a%20sorted%20linked%20list/Solution.java) | -| Data Structures | Linked List | [Cycle Detection](https://www.hackerrank.com/challenges/detect-whether-a-linked-list-contains-a-cycle) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Linked%20Lists/Cycle%20Detection/Solution.java) | -| Data Structures | Linked List | [Find Merge Point of Two Lists](https://www.hackerrank.com/challenges/find-the-merge-point-of-two-joined-linked-lists) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Linked%20Lists/Find%20Merge%20Point%20of%20Two%20Lists/Solution.java) | -| Data Structures | Linked List | [Inserting a Node Into a Sorted Doubly Linked List](https://www.hackerrank.com/challenges/insert-a-node-into-a-sorted-doubly-linked-list) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Linked%20Lists/Inserting%20a%20Node%20Into%20a%20Sorted%20Doubly%20Linked%20List/Solution.java) | -| Data Structures | Linked List | [Reverse a doubly linked list](https://www.hackerrank.com/challenges/reverse-a-doubly-linked-list) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Linked%20Lists/Reverse%20a%20doubly%20linked%20list/Solution.java) | -| Data Structures | Trees | [Tree: Preorder Traversal](https://www.hackerrank.com/challenges/tree-preorder-traversal) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Trees/Tree%20-%20Preorder%20Traversal/Solution.java) | -| Data Structures | Trees | [Tree: Postorder Traversal](https://www.hackerrank.com/challenges/tree-postorder-traversal) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Trees/Tree%20-%20Postorder%20Traversal/Solution.java) | -| Data Structures | Trees | [Tree: Inorder Traversal](https://www.hackerrank.com/challenges/tree-inorder-traversal) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Trees/Tree%20-%20Inorder%20Traversal/Solution.java) | -| Data Structures | Trees | [Tree: Height of a Binary Tree](https://www.hackerrank.com/challenges/tree-height-of-a-binary-tree) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Trees/Tree%20-%20Height%20of%20a%20Binary%20Tree/Solution.java) | -| Data Structures | Trees | [Tree: Top View](https://www.hackerrank.com/challenges/tree-top-view) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Trees/Tree%20-%20Top%20View/Solution.java) | -| Data Structures | Trees | [Tree: Level Order Traversal](https://www.hackerrank.com/challenges/tree-level-order-traversal) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Trees/Tree%20-%20Level%20Order%20Traversal/Solution.java) | -| Data Structures | Trees | [Binary Search Tree: Insertion](https://www.hackerrank.com/challenges/binary-search-tree-insertion) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Trees/Binary%20Search%20Tree%20-%20Insertion/Solution.java) | -| Data Structures | Trees | [Tree: Huffman Decoding](https://www.hackerrank.com/challenges/tree-huffman-decoding) | Medium | Coming Soon! | -| Data Structures | Trees | [Binary Search Tree: Lowest Common Ancestor](https://www.hackerrank.com/challenges/binary-search-tree-lowest-common-ancestor) | Easy | Coming Soon! | -| Data Structures | Trees | [Swap Nodes [Algo]](https://www.hackerrank.com/challenges/swap-nodes-algo) | Medium | Coming Soon! | -| Data Structures | Trees | [Is This a Binary Search Tree?](https://www.hackerrank.com/challenges/is-binary-search-tree) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Trees/Is%20This%20a%20Binary%20Search%20Tree/Solution.java) | -| Data Structures | Trees | [Square-Ten Tree](https://www.hackerrank.com/challenges/square-ten-tree) | Hard | Coming Soon! | -| Data Structures | Trees | [Balanced Forest](https://www.hackerrank.com/challenges/balanced-forest) | Hard | Coming Soon! | -| Data Structures | Balanced Trees | [Self Balancing Tree](https://www.hackerrank.com/challenges/self-balancing-tree) | Medium | Coming Soon! | -| Data Structures | Balanced Trees | [Array and simple queries](https://www.hackerrank.com/challenges/array-and-simple-queries) | Hard | Coming Soon! | -| Data Structures | Balanced Trees | [Median Updates](https://www.hackerrank.com/challenges/median) | Hard | Coming Soon! | -| Data Structures | Stacks | [Maximum Element](https://www.hackerrank.com/challenges/maximum-element) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Stacks/Maximum%20Element/Solution.java) | -| Data Structures | Stacks | [Balanced Brackets](https://www.hackerrank.com/challenges/balanced-brackets) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Stacks/Balanced%20Brackets/Solution.java) | -| Data Structures | Stacks | [Largest Rectangle](https://www.hackerrank.com/challenges/largest-rectangle) | Hard | Coming Soon! | -| Data Structures | Stacks | [Simple Text Editor](https://www.hackerrank.com/challenges/simple-text-editor) | Medium | Coming Soon! | -| Data Structures | Stacks | [Equal Stacks](https://www.hackerrank.com/challenges/equal-stacks) | Easy | Coming Soon! | -| Data Structures | Stacks | [Poisonous Plants](https://www.hackerrank.com/challenges/poisonous-plants) | Hard | Coming Soon! | -| Data Structures | Stacks | [AND xor OR](https://www.hackerrank.com/challenges/and-xor-or) | Hard | Coming Soon! | -| Data Structures | Stacks | [Waiter](https://www.hackerrank.com/challenges/waiter) | Medium | Coming Soon! | -| Data Structures | Queues | [Queue using Two Stacks](https://www.hackerrank.com/challenges/queue-using-two-stacks) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Queues/Queue%20using%20Two%20Stacks/Solution.java) | -| Data Structures | Queues | [Castle on the Grid](https://www.hackerrank.com/challenges/castle-on-the-grid) | Medium | Coming Soon! | -| Data Structures | Queues | [Down to Zero II](https://www.hackerrank.com/challenges/down-to-zero-ii) | Medium | Coming Soon! | -| Data Structures | Queues | [Truck Tour](https://www.hackerrank.com/challenges/truck-tour) | Hard | Coming Soon! | -| Data Structures | Queues | [Queries with Fixed Length](https://www.hackerrank.com/challenges/queries-with-fixed-length) | Hard | Coming Soon! | -| Data Structures | Heap | [QHEAP1](https://www.hackerrank.com/challenges/qheap1) | Easy | Coming Soon! | -| Data Structures | Heap | [Jesse and Cookies](https://www.hackerrank.com/challenges/jesse-and-cookies) | Easy | Coming Soon! | -| Data Structures | Heap | [Find the Running Median](https://www.hackerrank.com/challenges/find-the-running-median) | Hard | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Heap/Find%20the%20Running%20Median/Solution.java) | -| Data Structures | Heap | [Minimum Average Waiting Time](https://www.hackerrank.com/challenges/minimum-average-waiting-time) | Hard | Coming Soon! | -| Data Structures | Disjoint Set | [Merging Communities](https://www.hackerrank.com/challenges/merging-communities) | Hard | Coming Soon! | -| Data Structures | Disjoint Set | [Components in a graph](https://www.hackerrank.com/challenges/components-in-graph) | Medium | Coming Soon! | -| Data Structures | Disjoint Set | [Kundu and Tree](https://www.hackerrank.com/challenges/kundu-and-tree) | Hard | Coming Soon! | -| Data Structures | Disjoint Set | [Super Maximum Cost Queries](https://www.hackerrank.com/challenges/maximum-cost-queries) | Hard | Coming Soon! | -| Data Structures | Multiple Choice | [Data Structures MCQ 1](https://www.hackerrank.com/challenges/how-well-do-you-know-trees) | Multiple Choice | Coming Soon! | -| Data Structures | Multiple Choice | [Data Structures MCQ 2](https://www.hackerrank.com/challenges/are-you-an-expert-on-data-structures) | Multiple Choice | Coming Soon! | -| Data Structures | Multiple Choice | [Data Structures MCQ 3](https://www.hackerrank.com/challenges/are-you-an-expert-on-data-structures-1) | Multiple Choice | Coming Soon! | -| Data Structures | Trie | [Contacts](https://www.hackerrank.com/challenges/contacts) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Trie/Contacts/Solution.java) | -| Data Structures | Trie | [No Prefix Set](https://www.hackerrank.com/challenges/no-prefix-set) | Hard | Coming Soon! | -| Data Structures | Advanced | [Kindergarten Adventures](https://www.hackerrank.com/challenges/kindergarten-adventures) | Medium | Coming Soon! | -| Data Structures | Advanced | [Cube Summation](https://www.hackerrank.com/challenges/cube-summation) | Hard | Coming Soon! | -| Data Structures | Advanced | [Mr. X and His Shots](https://www.hackerrank.com/challenges/x-and-his-shots) | Medium | Coming Soon! | -| Data Structures | Advanced | [Direct Connections](https://www.hackerrank.com/challenges/direct-connections) | Hard | Coming Soon! | -| Data Structures | Advanced | [Subsequence Weighting](https://www.hackerrank.com/challenges/subsequence-weighting) | Advanced | Coming Soon! | -| Data Structures | Advanced | [Jim and the Skyscrapers](https://www.hackerrank.com/challenges/jim-and-the-skyscrapers) | Medium | Coming Soon! | -| Data Structures | Advanced | [Counting On a Tree](https://www.hackerrank.com/challenges/counting-on-a-tree) | Expert | Coming Soon! | -| Data Structures | Advanced | [Unique Colors](https://www.hackerrank.com/challenges/unique-colors) | Advanced | Coming Soon! | -| Data Structures | Advanced | [Self-Driving Bus](https://www.hackerrank.com/challenges/self-driving-bus) | Advanced | Coming Soon! | -| Data Structures | Advanced | [Fibonacci Numbers Tree](https://www.hackerrank.com/challenges/fibonacci-numbers-tree) | Expert | Coming Soon! | -| Data Structures | Advanced | [Functional Palindromes](https://www.hackerrank.com/challenges/functional-palindromes) | Advanced | Coming Soon! | -| Data Structures | Advanced | [Lazy White Falcon](https://www.hackerrank.com/challenges/lazy-white-falcon) | Hard | Coming Soon! | -| Data Structures | Advanced | [Ticket to Ride](https://www.hackerrank.com/challenges/ticket-to-ride) | Expert | Coming Soon! | -| Data Structures | Advanced | [Heavy Light White Falcon](https://www.hackerrank.com/challenges/heavy-light-white-falcon) | Hard | Coming Soon! | -| Data Structures | Advanced | [Sum of the Maximums](https://www.hackerrank.com/challenges/little-alexey-and-sum-of-maximums) | Advanced | Coming Soon! | -| Data Structures | Advanced | [Heavy Light 2 White Falcon](https://www.hackerrank.com/challenges/heavy-light-2-white-falcon) | Hard | Coming Soon! | -| Data Structures | Advanced | [Library Query](https://www.hackerrank.com/challenges/library-query) | Advanced | Coming Soon! | -| Data Structures | Advanced | [Starfleet](https://www.hackerrank.com/challenges/starfleet) | Advanced | Coming Soon! | -| Data Structures | Advanced | [Almost Equal - Advanced](https://www.hackerrank.com/challenges/almost-equal-advanced) | Expert | Coming Soon! | -| Data Structures | Advanced | [Almost sorted interval](https://www.hackerrank.com/challenges/almost-sorted-interval) | Expert | Coming Soon! | -| Data Structures | Advanced | [Burger Happiness](https://www.hackerrank.com/challenges/burger-happiness) | Hard | Coming Soon! | -| Data Structures | Advanced | [Roy and alpha-beta trees](https://www.hackerrank.com/challenges/roy-and-alpha-beta-trees) | Hard | Coming Soon! | -| Data Structures | Advanced | [Coloring Tree](https://www.hackerrank.com/challenges/coloring-tree) | Hard | Coming Soon! | -| Data Structures | Advanced | [Recalling Early Days GP with Trees](https://www.hackerrank.com/challenges/recalling-early-days-gp-with-trees) | Hard | Coming Soon! | -| Data Structures | Advanced | [Swaps and Sum](https://www.hackerrank.com/challenges/swaps-and-sum) | Advanced | Coming Soon! | -| Data Structures | Advanced | [Arithmetic Progressions](https://www.hackerrank.com/challenges/arithmetic-progressions) | Advanced | Coming Soon! | -| Data Structures | Advanced | [Coolguy and Two Subsequences](https://www.hackerrank.com/challenges/coolguy-and-two-subsequences) | Advanced | Coming Soon! | -| Data Structures | Advanced | [White Falcon And Tree](https://www.hackerrank.com/challenges/white-falcon-and-tree) | Hard | Coming Soon! | -| Data Structures | Advanced | [Subtrees And Paths](https://www.hackerrank.com/challenges/subtrees-and-paths) | Advanced | Coming Soon! | -| Data Structures | Advanced | [Triplets](https://www.hackerrank.com/challenges/triplets) | Advanced | Coming Soon! | -| Data Structures | Advanced | [Beautiful Segments](https://www.hackerrank.com/challenges/beautiful-segments) | Expert | Coming Soon! | -| Data Structures | Advanced | [Divisibility](https://www.hackerrank.com/challenges/ab0) | Expert | Coming Soon! | -| Data Structures | Advanced | [BST maintenance](https://www.hackerrank.com/challenges/bst-maintenance) | Advanced | Coming Soon! | -| Data Structures | Advanced | [Find Maximum Index Product](https://www.hackerrank.com/challenges/find-maximum-index-product) | Medium | Coming Soon! | -| Data Structures | Advanced | [Taxicab Driver's Problem](https://www.hackerrank.com/challenges/taxicab-drivers-problem) | Advanced | Coming Soon! | -| Data Structures | Advanced | [Jaggu Playing with Balloons](https://www.hackerrank.com/challenges/jagia-playing-with-numbers) | Advanced | Coming Soon! | -| Data Structures | Advanced | [Dynamic Summation](https://www.hackerrank.com/challenges/dynamic-summation) | Hard | Coming Soon! | -| Data Structures | Advanced | [Two Array Problem](https://www.hackerrank.com/challenges/weird-queries) | Hard | Coming Soon! | -| Data Structures | Advanced | [Rooted Tree](https://www.hackerrank.com/challenges/rooted-tree) | Hard | Coming Soon! | -| Data Structures | Advanced | [The crazy helix](https://www.hackerrank.com/challenges/helix) | Advanced | Coming Soon! | -| Data Structures | Advanced | [Network administration](https://www.hackerrank.com/challenges/net-admin) | Hard | Coming Soon! | -| Data Structures | Advanced | [Easy Addition](https://www.hackerrank.com/challenges/easy-addition) | Expert | Coming Soon! | -| Data Structures | Advanced | [Find the permutation](https://www.hackerrank.com/challenges/find-the-permutation) | Expert | Coming Soon! | -| Data Structures | Advanced | [Company Retreat](https://www.hackerrank.com/challenges/company-retreat) | Advanced | Coming Soon! | +| Data Structures | Linked List | [Delete a Node](https://www.hackerrank.com/challenges/delete-a-node-from-a-linked-list) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Linked%20Lists/Delete%20a%20Node/Solution.java) | +| Data Structures | Linked List | [Print in Reverse](https://www.hackerrank.com/challenges/print-the-elements-of-a-linked-list-in-reverse) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Linked%20Lists/Print%20in%20Reverse/Solution.java) | +| Data Structures | Linked List | [Reverse a linked list](https://www.hackerrank.com/challenges/reverse-a-linked-list) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Linked%20Lists/Reverse%20a%20linked%20list/Solution.java) | +| Data Structures | Linked List | [Compare two linked lists](https://www.hackerrank.com/challenges/compare-two-linked-lists) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Linked%20Lists/Compare%20two%20linked%20lists/Solution.java) | +| Data Structures | Linked List | [Merge two sorted linked lists](https://www.hackerrank.com/challenges/merge-two-sorted-linked-lists) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Linked%20Lists/Merge%20two%20sorted%20linked%20lists/Solution.java) | +| Data Structures | Linked List | [Get Node Value](https://www.hackerrank.com/challenges/get-the-value-of-the-node-at-a-specific-position-from-the-tail) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Linked%20Lists/Get%20Node%20Value/Solution.java) | +| Data Structures | Linked List | [Delete duplicate-value nodes from a sorted linked list](https://www.hackerrank.com/challenges/delete-duplicate-value-nodes-from-a-sorted-linked-list) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Linked%20Lists/Delete%20duplicate-value%20nodes%20from%20a%20sorted%20linked%20list/Solution.java) | +| Data Structures | Linked List | [Cycle Detection](https://www.hackerrank.com/challenges/detect-whether-a-linked-list-contains-a-cycle) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Linked%20Lists/Cycle%20Detection/Solution.java) | +| Data Structures | Linked List | [Find Merge Point of Two Lists](https://www.hackerrank.com/challenges/find-the-merge-point-of-two-joined-linked-lists) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Linked%20Lists/Find%20Merge%20Point%20of%20Two%20Lists/Solution.java) | +| Data Structures | Linked List | [Inserting a Node Into a Sorted Doubly Linked List](https://www.hackerrank.com/challenges/insert-a-node-into-a-sorted-doubly-linked-list) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Linked%20Lists/Inserting%20a%20Node%20Into%20a%20Sorted%20Doubly%20Linked%20List/Solution.java) | +| Data Structures | Linked List | [Reverse a doubly linked list](https://www.hackerrank.com/challenges/reverse-a-doubly-linked-list) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Linked%20Lists/Reverse%20a%20doubly%20linked%20list/Solution.java) | +| Data Structures | Trees | [Tree: Preorder Traversal](https://www.hackerrank.com/challenges/tree-preorder-traversal) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Trees/Tree%20-%20Preorder%20Traversal/Solution.java) | +| Data Structures | Trees | [Tree: Postorder Traversal](https://www.hackerrank.com/challenges/tree-postorder-traversal) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Trees/Tree%20-%20Postorder%20Traversal/Solution.java) | +| Data Structures | Trees | [Tree: Inorder Traversal](https://www.hackerrank.com/challenges/tree-inorder-traversal) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Trees/Tree%20-%20Inorder%20Traversal/Solution.java) | +| Data Structures | Trees | [Tree: Height of a Binary Tree](https://www.hackerrank.com/challenges/tree-height-of-a-binary-tree) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Trees/Tree%20-%20Height%20of%20a%20Binary%20Tree/Solution.java) | +| Data Structures | Trees | [Tree: Top View](https://www.hackerrank.com/challenges/tree-top-view) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Trees/Tree%20-%20Top%20View/Solution.java) | +| Data Structures | Trees | [Tree: Level Order Traversal](https://www.hackerrank.com/challenges/tree-level-order-traversal) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Trees/Tree%20-%20Level%20Order%20Traversal/Solution.java) | +| Data Structures | Trees | [Binary Search Tree: Insertion](https://www.hackerrank.com/challenges/binary-search-tree-insertion) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Trees/Binary%20Search%20Tree%20-%20Insertion/Solution.java) | +| Data Structures | Trees | [Tree: Huffman Decoding](https://www.hackerrank.com/challenges/tree-huffman-decoding) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Trees/Tree%20-%20Huffman%20Decoding/Solution.java) | +| Data Structures | Trees | [Binary Search Tree: Lowest Common Ancestor](https://www.hackerrank.com/challenges/binary-search-tree-lowest-common-ancestor) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Trees/Binary%20Search%20Tree%20-%20Lowest%20Common%20Ancestor/Solution.java) | +| Data Structures | Trees | [Swap Nodes [Algo]](https://www.hackerrank.com/challenges/swap-nodes-algo) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Trees/Swap%20Nodes%20%5BAlgo%5D/Solution.java) | +| Data Structures | Trees | [Is This a Binary Search Tree?](https://www.hackerrank.com/challenges/is-binary-search-tree) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Trees/Is%20This%20a%20Binary%20Search%20Tree/Solution.java) | +| Data Structures | Trees | [Square-Ten Tree](https://www.hackerrank.com/challenges/square-ten-tree) | Hard | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Trees/Square-Ten%20Tree/Solution.java) | +| Data Structures | Trees | [Balanced Forest](https://www.hackerrank.com/challenges/balanced-forest) | Hard | Coming Soon! | +| Data Structures | Balanced Trees | [Self Balancing Tree](https://www.hackerrank.com/challenges/self-balancing-tree) | Medium | Coming Soon! | +| Data Structures | Balanced Trees | [Array and simple queries](https://www.hackerrank.com/challenges/array-and-simple-queries) | Hard | Coming Soon! | +| Data Structures | Balanced Trees | [Median Updates](https://www.hackerrank.com/challenges/median) | Hard | Coming Soon! | +| Data Structures | Stacks | [Maximum Element](https://www.hackerrank.com/challenges/maximum-element) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Stacks/Maximum%20Element/Solution.java) | +| Data Structures | Stacks | [Balanced Brackets](https://www.hackerrank.com/challenges/balanced-brackets) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Stacks/Balanced%20Brackets/Solution.java) | +| Data Structures | Stacks | [Largest Rectangle](https://www.hackerrank.com/challenges/largest-rectangle) | Hard | Coming Soon! | +| Data Structures | Stacks | [Simple Text Editor](https://www.hackerrank.com/challenges/simple-text-editor) | Medium | Coming Soon! | +| Data Structures | Stacks | [Equal Stacks](https://www.hackerrank.com/challenges/equal-stacks) | Easy | Coming Soon! | +| Data Structures | Stacks | [Poisonous Plants](https://www.hackerrank.com/challenges/poisonous-plants) | Hard | Coming Soon! | +| Data Structures | Stacks | [AND xor OR](https://www.hackerrank.com/challenges/and-xor-or) | Hard | Coming Soon! | +| Data Structures | Stacks | [Waiter](https://www.hackerrank.com/challenges/waiter) | Medium | Coming Soon! | +| Data Structures | Queues | [Queue using Two Stacks](https://www.hackerrank.com/challenges/queue-using-two-stacks) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Queues/Queue%20using%20Two%20Stacks/Solution.java) | +| Data Structures | Queues | [Castle on the Grid](https://www.hackerrank.com/challenges/castle-on-the-grid) | Medium | Coming Soon! | +| Data Structures | Queues | [Down to Zero II](https://www.hackerrank.com/challenges/down-to-zero-ii) | Medium | Coming Soon! | +| Data Structures | Queues | [Truck Tour](https://www.hackerrank.com/challenges/truck-tour) | Hard | Coming Soon! | +| Data Structures | Queues | [Queries with Fixed Length](https://www.hackerrank.com/challenges/queries-with-fixed-length) | Hard | Coming Soon! | +| Data Structures | Heap | [QHEAP1](https://www.hackerrank.com/challenges/qheap1) | Easy | Coming Soon! | +| Data Structures | Heap | [Jesse and Cookies](https://www.hackerrank.com/challenges/jesse-and-cookies) | Easy | Coming Soon! | +| Data Structures | Heap | [Find the Running Median](https://www.hackerrank.com/challenges/find-the-running-median) | Hard | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Heap/Find%20the%20Running%20Median/Solution.java) | +| Data Structures | Heap | [Minimum Average Waiting Time](https://www.hackerrank.com/challenges/minimum-average-waiting-time) | Hard | Coming Soon! | +| Data Structures | Disjoint Set | [Merging Communities](https://www.hackerrank.com/challenges/merging-communities) | Hard | Coming Soon! | +| Data Structures | Disjoint Set | [Components in a graph](https://www.hackerrank.com/challenges/components-in-graph) | Medium | Coming Soon! | +| Data Structures | Disjoint Set | [Kundu and Tree](https://www.hackerrank.com/challenges/kundu-and-tree) | Hard | Coming Soon! | +| Data Structures | Disjoint Set | [Super Maximum Cost Queries](https://www.hackerrank.com/challenges/maximum-cost-queries) | Hard | Coming Soon! | +| Data Structures | Multiple Choice | [Data Structures MCQ 1](https://www.hackerrank.com/challenges/how-well-do-you-know-trees) | Multiple Choice | Coming Soon! | +| Data Structures | Multiple Choice | [Data Structures MCQ 2](https://www.hackerrank.com/challenges/are-you-an-expert-on-data-structures) | Multiple Choice | Coming Soon! | +| Data Structures | Multiple Choice | [Data Structures MCQ 3](https://www.hackerrank.com/challenges/are-you-an-expert-on-data-structures-1) | Multiple Choice | Coming Soon! | +| Data Structures | Trie | [Contacts](https://www.hackerrank.com/challenges/contacts) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Trie/Contacts/Solution.java) | +| Data Structures | Trie | [No Prefix Set](https://www.hackerrank.com/challenges/no-prefix-set) | Hard | Coming Soon! | +| Data Structures | Advanced | [Kindergarten Adventures](https://www.hackerrank.com/challenges/kindergarten-adventures) | Medium | Coming Soon! | +| Data Structures | Advanced | [Cube Summation](https://www.hackerrank.com/challenges/cube-summation) | Hard | Coming Soon! | +| Data Structures | Advanced | [Mr. X and His Shots](https://www.hackerrank.com/challenges/x-and-his-shots) | Medium | Coming Soon! | +| Data Structures | Advanced | [Direct Connections](https://www.hackerrank.com/challenges/direct-connections) | Hard | Coming Soon! | +| Data Structures | Advanced | [Subsequence Weighting](https://www.hackerrank.com/challenges/subsequence-weighting) | Advanced | Coming Soon! | +| Data Structures | Advanced | [Jim and the Skyscrapers](https://www.hackerrank.com/challenges/jim-and-the-skyscrapers) | Medium | Coming Soon! | +| Data Structures | Advanced | [Counting On a Tree](https://www.hackerrank.com/challenges/counting-on-a-tree) | Expert | Coming Soon! | +| Data Structures | Advanced | [Unique Colors](https://www.hackerrank.com/challenges/unique-colors) | Advanced | Coming Soon! | +| Data Structures | Advanced | [Self-Driving Bus](https://www.hackerrank.com/challenges/self-driving-bus) | Advanced | Coming Soon! | +| Data Structures | Advanced | [Fibonacci Numbers Tree](https://www.hackerrank.com/challenges/fibonacci-numbers-tree) | Expert | Coming Soon! | +| Data Structures | Advanced | [Functional Palindromes](https://www.hackerrank.com/challenges/functional-palindromes) | Advanced | Coming Soon! | +| Data Structures | Advanced | [Lazy White Falcon](https://www.hackerrank.com/challenges/lazy-white-falcon) | Hard | Coming Soon! | +| Data Structures | Advanced | [Ticket to Ride](https://www.hackerrank.com/challenges/ticket-to-ride) | Expert | Coming Soon! | +| Data Structures | Advanced | [Heavy Light White Falcon](https://www.hackerrank.com/challenges/heavy-light-white-falcon) | Hard | Coming Soon! | +| Data Structures | Advanced | [Sum of the Maximums](https://www.hackerrank.com/challenges/little-alexey-and-sum-of-maximums) | Advanced | Coming Soon! | +| Data Structures | Advanced | [Heavy Light 2 White Falcon](https://www.hackerrank.com/challenges/heavy-light-2-white-falcon) | Hard | Coming Soon! | +| Data Structures | Advanced | [Library Query](https://www.hackerrank.com/challenges/library-query) | Advanced | Coming Soon! | +| Data Structures | Advanced | [Starfleet](https://www.hackerrank.com/challenges/starfleet) | Advanced | Coming Soon! | +| Data Structures | Advanced | [Almost Equal - Advanced](https://www.hackerrank.com/challenges/almost-equal-advanced) | Expert | Coming Soon! | +| Data Structures | Advanced | [Almost sorted interval](https://www.hackerrank.com/challenges/almost-sorted-interval) | Expert | Coming Soon! | +| Data Structures | Advanced | [Burger Happiness](https://www.hackerrank.com/challenges/burger-happiness) | Hard | Coming Soon! | +| Data Structures | Advanced | [Roy and alpha-beta trees](https://www.hackerrank.com/challenges/roy-and-alpha-beta-trees) | Hard | Coming Soon! | +| Data Structures | Advanced | [Coloring Tree](https://www.hackerrank.com/challenges/coloring-tree) | Hard | Coming Soon! | +| Data Structures | Advanced | [Recalling Early Days GP with Trees](https://www.hackerrank.com/challenges/recalling-early-days-gp-with-trees) | Hard | Coming Soon! | +| Data Structures | Advanced | [Swaps and Sum](https://www.hackerrank.com/challenges/swaps-and-sum) | Advanced | Coming Soon! | +| Data Structures | Advanced | [Arithmetic Progressions](https://www.hackerrank.com/challenges/arithmetic-progressions) | Advanced | Coming Soon! | +| Data Structures | Advanced | [Coolguy and Two Subsequences](https://www.hackerrank.com/challenges/coolguy-and-two-subsequences) | Advanced | Coming Soon! | +| Data Structures | Advanced | [White Falcon And Tree](https://www.hackerrank.com/challenges/white-falcon-and-tree) | Hard | Coming Soon! | +| Data Structures | Advanced | [Subtrees And Paths](https://www.hackerrank.com/challenges/subtrees-and-paths) | Advanced | Coming Soon! | +| Data Structures | Advanced | [Triplets](https://www.hackerrank.com/challenges/triplets) | Advanced | Coming Soon! | +| Data Structures | Advanced | [Beautiful Segments](https://www.hackerrank.com/challenges/beautiful-segments) | Expert | Coming Soon! | +| Data Structures | Advanced | [Divisibility](https://www.hackerrank.com/challenges/ab0) | Expert | Coming Soon! | +| Data Structures | Advanced | [BST maintenance](https://www.hackerrank.com/challenges/bst-maintenance) | Advanced | Coming Soon! | +| Data Structures | Advanced | [Find Maximum Index Product](https://www.hackerrank.com/challenges/find-maximum-index-product) | Medium | Coming Soon! | +| Data Structures | Advanced | [Taxicab Driver's Problem](https://www.hackerrank.com/challenges/taxicab-drivers-problem) | Advanced | Coming Soon! | +| Data Structures | Advanced | [Jaggu Playing with Balloons](https://www.hackerrank.com/challenges/jagia-playing-with-numbers) | Advanced | Coming Soon! | +| Data Structures | Advanced | [Dynamic Summation](https://www.hackerrank.com/challenges/dynamic-summation) | Hard | Coming Soon! | +| Data Structures | Advanced | [Two Array Problem](https://www.hackerrank.com/challenges/weird-queries) | Hard | Coming Soon! | +| Data Structures | Advanced | [Rooted Tree](https://www.hackerrank.com/challenges/rooted-tree) | Hard | Coming Soon! | +| Data Structures | Advanced | [The crazy helix](https://www.hackerrank.com/challenges/helix) | Advanced | Coming Soon! | +| Data Structures | Advanced | [Network administration](https://www.hackerrank.com/challenges/net-admin) | Hard | Coming Soon! | +| Data Structures | Advanced | [Easy Addition](https://www.hackerrank.com/challenges/easy-addition) | Expert | Coming Soon! | +| Data Structures | Advanced | [Find the permutation](https://www.hackerrank.com/challenges/find-the-permutation) | Expert | Coming Soon! | +| Data Structures | Advanced | [Company Retreat](https://www.hackerrank.com/challenges/company-retreat) | Advanced | Coming Soon! | diff --git a/Data Structures/Trees/Binary Search Tree - Lowest Common Ancestor/Solution.java b/Data Structures/Trees/Binary Search Tree - Lowest Common Ancestor/Solution.java new file mode 100644 index 0000000..04c4e5d --- /dev/null +++ b/Data Structures/Trees/Binary Search Tree - Lowest Common Ancestor/Solution.java @@ -0,0 +1,27 @@ +// Author: Rodney Shaghoulian +// Github: github.com/rshaghoulian +// HackerRank: hackerrank.com/rshaghoulian + +/* Node is defined as : + class Node { + int data; + Node left; + Node right; + } +*/ + +// Assumes tree has unique values +// Runtime: O(log n) on a balanced tree +// Space Complexity: O(1) +static Node lca(Node root, int v1, int v2) { + while (root != null) { + if (root.data > v1 && root.data > v2) { + root = root.left; + } else if (root.data < v1 && root.data < v2) { + root = root.right; + } else { + break; + } + } + return root; +} diff --git a/Data Structures/Trees/Square-Ten Tree/Solution.java b/Data Structures/Trees/Square-Ten Tree/Solution.java new file mode 100644 index 0000000..4235811 --- /dev/null +++ b/Data Structures/Trees/Square-Ten Tree/Solution.java @@ -0,0 +1,253 @@ +// Author: Rodney Shaghoulian +// Github: github.com/rshaghoulian +// HackerRank: hackerrank.com/rshaghoulian + +import java.util.Scanner; +import java.util.Arrays; + +// - Runtime: O(n + m) where n = # of digits in L, m = # of digits in R (for interval [L,R]). +// - Numbers can literally have millions of digits in this problem. An "int" or "long" is not big enough to store these numbers. Although Java's BigInteger is big enough, it turns out to be too slow for this problem. I wrote a custom "BigInt" class to speed up calculations. +// - To achieve linear runtime, we need an algorithm that splits up these giant numbers into portions and processes them separately. A great way to do this is to split by level, as done below. +// - This was a very difficult problem. You must have both linear runtime and efficient code to pass all testcases. +public class Solution { + public static void main(String[] args) { + /* Read and save input */ + Scanner scan = new Scanner(System.in); + String strL = new BigInt(scan.next()).subtract(BigInt.ONE).toString(); // subtract 1 since it's [L,R] inclusive + String strR = scan.next(); + scan.close(); + + /* Calculate interval sizes (by just saving # of digits) */ + int [] intervalDigits = new int[log2(strR.length()) + 3]; // The +3 gives us an estimate of the size we need + for (int k = 0; k < intervalDigits.length; k++) { + intervalDigits[k] = digitsInInterval(k); + } + + /* Initialize variables */ + StringBuilder sb = new StringBuilder(); + int endL = strL.length(); + int endR = strR.length(); + BigInt upperBound = BigInt.ONE; + boolean carry = false; + boolean lastIteration = false; + int blockCount = 0; + int level = 0; + + /* Calculate counts for increasing segment sizes */ + while (!lastIteration) { + /* Get portion of each String corresponding to current level */ + int numDigits = intervalDigits[level + 1] - intervalDigits[level]; + int startL = Math.max(endL - numDigits, 0); + int startR = Math.max(endR - numDigits, 0); + BigInt numL = (endL == 0) ? BigInt.ZERO : new BigInt(strL.substring(startL, endL)); + if (carry) { + numL = numL.add(BigInt.ONE); + } + + /* Calculate upper bound */ + if (startR == 0) { + upperBound = new BigInt(strR.substring(startR, endR)); + lastIteration = true; + } else { + upperBound = BigInt.tenToPower(numDigits); + } + + /* If not skipping this level, process it */ + if ( (!numL.equals(BigInt.ZERO) && !numL.equals(upperBound)) || startR == 0) { + BigInt count = upperBound.subtract(numL); + carry = true; + blockCount++; + sb.append(level + " " + count + "\n"); + } + + /* Update variables for next iteration */ + endL = startL; + endR = startR; + level++; + } + + StringBuilder sb2 = new StringBuilder(); + level = 0; + endR = strR.length(); + + /* Calculate counts for decreasing segment sizes */ + while (true) { + /* Calculate number of nodes in current level */ + int numDigits = intervalDigits[level + 1] - intervalDigits[level]; + int startR = Math.max(endR - numDigits, 0); + if (startR == 0) { + break; + } + BigInt count = new BigInt(strR.substring(startR, endR)); + + /* If not skipping this level, process it */ + if (!count.equals(BigInt.ZERO)) { + blockCount++; + sb2.insert(0, level + " " + count + "\n"); + } + + /* Update variables for next iteration */ + endR = startR; + level++; + } + + System.out.println(blockCount + "\n" + sb + sb2); + } + + static int log2 (int n) { // assumes positive number + return 31 - Integer.numberOfLeadingZeros(n); + } + + static int digitsInInterval(int k) { + if (k == 0) { + return 1; + } else { + return (int) (Math.pow(2, k - 1) + 1); + } + } +} + +// - Java's BigInteger is not fast enough to pass the testcases. The BigInt I create below is more efficient for this problem. +// - This link has good implementation ideas (Though they store numbers in reverse order): +// http://iwillgetthatjobatgoogle.tumblr.com/post/32583376161/writing-biginteger-better-than-jdk-one +// - BigInt numbers may be stored with leading 0s +// - BigInt only works with non-negative integers +class BigInt { + public static final BigInt ZERO = new BigInt("0"); + public static final BigInt ONE = new BigInt("1"); + + public final byte[] digits; // will use 8 bits per digit for simplicity, even though 4 bits is enough + + /* Constructor */ + public BigInt(String str) { + digits = new byte[str.length()]; + for (int i = 0; i < digits.length; i++) { + digits[i] = Byte.valueOf(str.substring(i, i + 1)); + } + } + + /* Constructor */ + public BigInt(byte [] digits) { + this.digits = digits; + } + + public static BigInt tenToPower(int exponent) { + byte [] digits = new byte[exponent + 1]; + digits[0] = 1; + return new BigInt(digits); + } + + public BigInt add(BigInt other) { + byte [] digitsA = digits; + byte [] digitsB = other.digits; + + /* Create new Array to hold answer */ + int newLength = Math.max(digitsA.length, digitsB.length); + if (!(digitsA[0] == 0 && digitsB[0] == 0)) { + newLength++; + } + byte [] result = new byte[newLength]; + + /* Do the addition */ + int carry = 0; + int ptrA = digitsA.length - 1; + int ptrB = digitsB.length - 1; + int ptrR = result.length - 1; + + while (ptrA >= 0 || ptrB >= 0 || carry > 0) { + int sum = carry; + if (ptrA >= 0) { + sum += digitsA[ptrA--]; + } + if (ptrB >= 0) { + sum += digitsB[ptrB--]; + } + result[ptrR--] = (byte) (sum % 10); + carry = sum / 10; + } + return new BigInt(result); + } + + public BigInt subtract(BigInt other) { // assumes "other" is smaller than this BigInt + byte [] digitsB = other.digits; + byte [] result = Arrays.copyOf(digits, digits.length); // copy of "digitsA" + + /* Do the subtraction */ + int ptrB = digitsB.length - 1; + int ptrR = result.length - 1; + while (ptrB >= 0 && ptrR >= 0) { + result[ptrR] -= digitsB[ptrB]; + /* if necessary, do the "borrow" */ + if (result[ptrR] < 0) { + result[ptrR] += 10; + int ptrBorrow = ptrR - 1; + while (result[ptrBorrow] == 0) { + result[ptrBorrow--] = 9; + } + result[ptrBorrow]--; + } + ptrB--; + ptrR--; + } + return new BigInt(result); + } + + @Override + public boolean equals(Object other) { + if (!(other instanceof BigInt)) { + return false; + } + + byte [] digitsA = digits; + byte [] digitsB = ((BigInt) other).digits; + + int indexA = 0; + int indexB = 0; + + /* Remove leading 0s */ + while (indexA < digitsA.length && digitsA[indexA] == 0) { + indexA++; + } + while (indexB < digitsB.length && digitsB[indexB] == 0) { + indexB++; + } + + /* If lengths not equal, BigInts aren't equal */ + int lenA = digitsA.length - indexA; + int lenB = digitsB.length - indexB; + + if (lenA != lenB) { + return false; + } + + /* Check to see if all digits match for the 2 BigInts */ + while (indexA < digitsA.length && indexB < digitsB.length) { + if (digitsA[indexA++] != digitsB[indexB++]) { + return false; + } + } + return true; + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + int i = 0; + + /* Skip leading 0s */ + while (i < digits.length && digits[i] == 0) { + i++; + } + + /* Special Case: the BigInt 0 */ + if (i == digits.length) { + return "0"; + } + + /* Create and return String */ + for ( ; i < digits.length; i++) { + sb.append(digits[i]); + } + return sb.toString(); + } +} diff --git a/Data Structures/Trees/Swap Nodes [Algo]/Solution.java b/Data Structures/Trees/Swap Nodes [Algo]/Solution.java new file mode 100644 index 0000000..a49dad2 --- /dev/null +++ b/Data Structures/Trees/Swap Nodes [Algo]/Solution.java @@ -0,0 +1,70 @@ +// Author: Rodney Shaghoulian +// Github: github.com/rshaghoulian +// HackerRank: hackerrank.com/rshaghoulian + +import java.util.Scanner; + +public class Solution { + public static void main(String[] args) { + /* Create tree */ + Scanner scan = new Scanner(System.in); + int N = scan.nextInt(); + Pair [] array = new Pair[N+1]; // represents our tree + for (int i = 1; i <= N; i++) { + array[i] = new Pair(scan.nextInt(), scan.nextInt()); + } + + /* Perform swaps and print inorder traversals */ + int T = scan.nextInt(); + for (int i = 1; i <= T; i++) { + int K = scan.nextInt(); + swap(array, K, N); + inorderTraverse(array, 1); + System.out.println(); + } + scan.close(); + } + + private static void swap(Pair [] array, int K, int maxDepth) { + for (int h = K; h <= maxDepth; h += K) { + swap(array, h, 1, 1); + } + } + + private static void swap(Pair [] array, int depth, int currIndex, int currDepth) { + if (currIndex < 1) { + return; + } + Pair p = array[currIndex]; + if (currDepth == depth) { + p.swapSubtrees(); + } else { + swap(array, depth, p.left, currDepth + 1); + swap(array, depth, p.right, currDepth + 1); + } + } + + private static void inorderTraverse(Pair [] array, int index) { + if (index != -1) { + inorderTraverse(array, array[index].left); + System.out.print(index + " "); + inorderTraverse(array, array[index].right); + } + } +} + +class Pair { + int left; + int right; + + public Pair(int left, int right) { + this.left = left; + this.right = right; + } + + public void swapSubtrees() { + int temp = left; + left = right; + right = temp; + } +} diff --git a/Data Structures/Trees/Tree - Huffman Decoding/Solution.java b/Data Structures/Trees/Tree - Huffman Decoding/Solution.java new file mode 100644 index 0000000..c255f15 --- /dev/null +++ b/Data Structures/Trees/Tree - Huffman Decoding/Solution.java @@ -0,0 +1,22 @@ +// Author: Rodney Shaghoulian +// Github: github.com/rshaghoulian +// HackerRank: hackerrank.com/rshaghoulian + +/* + class Node { + public int frequency; // the frequency of this tree + public char data; + public Node left, right; + } +*/ + +void decode(String str, Node root) { + Node n = root; + for (int i = 0; i < str.length(); i++) { + n = str.charAt(i) == '0' ? n.left : n.right; + if (n.left == null && n.right == null) { + System.out.print(n.data); + n = root; + } + } +} diff --git a/Java/Advanced/Covariant Return Types/Solution.java b/Java/Advanced/Covariant Return Types/Solution.java new file mode 100644 index 0000000..1a000a2 --- /dev/null +++ b/Java/Advanced/Covariant Return Types/Solution.java @@ -0,0 +1,57 @@ +// Author: Rodney Shaghoulian +// Github: github.com/rshaghoulian +// HackerRank: hackerrank.com/rshaghoulian + +class Flower { + String whatsYourName() { + return "I have many names and types."; + } +} + +class Jasmine extends Flower { + @Override + String whatsYourName() { + return "Jasmine"; + } +} + +class Lily extends Flower { + @Override + String whatsYourName() { + return "Lily"; + } +} + +class Lotus extends Flower { + @Override + String whatsYourName() { + return "Lotus"; + } +} + +class State { + Flower yourNationalFlower() { + return new Flower(); + } +} + +class WestBengal extends State { + @Override + Jasmine yourNationalFlower() { + return new Jasmine(); + } +} + +class Karnataka extends State { + @Override + Lotus yourNationalFlower() { + return new Lotus(); + } +} + +class AndhraPradesh extends State { + @Override + Lily yourNationalFlower() { + return new Lily(); + } +} diff --git a/Java/Advanced/Java Annotations/Solution.java b/Java/Advanced/Java Annotations/Solution.java new file mode 100644 index 0000000..c99ec91 --- /dev/null +++ b/Java/Advanced/Java Annotations/Solution.java @@ -0,0 +1,64 @@ +// Author: Rodney Shaghoulian +// Github: github.com/rshaghoulian +// HackerRank: hackerrank.com/rshaghoulian + +import java.lang.annotation.*; +import java.lang.reflect.*; +import java.util.*; + +@Target(ElementType.METHOD) +@Retention(RetentionPolicy.RUNTIME) +@interface FamilyBudget { + String userRole() default "GUEST"; + int budgetLimit() default 0; // edited line +} + +class FamilyMember { + @FamilyBudget(userRole = "SENIOR", budgetLimit = 100) // added line + public void seniorMember(int budget, int moneySpend) { + System.out.println("Senior Member"); + System.out.println("Spend: " + moneySpend); + System.out.println("Budget Left: " + (budget - moneySpend)); + } + + @FamilyBudget(userRole = "JUNIOR", budgetLimit = 50) // added line + public void juniorUser(int budget, int moneySpend) { + System.out.println("Junior Member"); + System.out.println("Spend: " + moneySpend); + System.out.println("Budget Left: " + (budget - moneySpend)); + } +} + +public class Solution { + public static void main(String[] args) { + Scanner in = new Scanner(System.in); + int testCases = Integer.parseInt(in.nextLine()); + while (testCases > 0) { + String role = in.next(); + int spend = in.nextInt(); + try { + Class annotatedClass = FamilyMember.class; + Method[] methods = annotatedClass.getMethods(); + for (Method method : methods) { + if (method.isAnnotationPresent(FamilyBudget.class)) { + FamilyBudget family = method + .getAnnotation(FamilyBudget.class); + String userRole = family.userRole(); + int budgetLimit = family.budgetLimit(); // edited line + if (userRole.equals(role)) { + if(spend <= budgetLimit){ // edited line + method.invoke(FamilyMember.class.newInstance(), + budgetLimit, spend); + }else{ + System.out.println("Budget Limit Over"); + } + } + } + } + } catch (Exception e) { + e.printStackTrace(); + } + testCases--; + } + } +} \ No newline at end of file diff --git a/Java/Advanced/Java Lambda Expressions/Solution.java b/Java/Advanced/Java Lambda Expressions/Solution.java new file mode 100644 index 0000000..1fb2ae4 --- /dev/null +++ b/Java/Advanced/Java Lambda Expressions/Solution.java @@ -0,0 +1,73 @@ +// Author: Rodney Shaghoulian +// Github: github.com/rshaghoulian +// HackerRank: hackerrank.com/rshaghoulian + +import java.io.*; +import java.util.*; +interface PerformOperation { + boolean check(int a); +} +class MyMath { + public static boolean checker(PerformOperation p, int num) { + return p.check(num); + } + + public static PerformOperation is_odd() { + return n -> (n & 1) == 1; + } + + public static PerformOperation is_prime() { + // O(n^(1/2)) runtime + return n -> { + if (n < 2) { + return false; + } + int sqrt = (int) Math.sqrt(n); + for (int i = 2; i <= sqrt; i++) { + if (n % i == 0) { + return false; + } + } + return true; + }; + } + + public static PerformOperation is_palindrome() { + return n -> { + String original = Integer.toString(n); + String reversed = new StringBuilder(Integer.toString(n)).reverse().toString(); + return original.equals(reversed); + }; + } +} + +public class Solution { + public static void main(String[] args) throws IOException { + MyMath ob = new MyMath(); + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + int T = Integer.parseInt(br.readLine()); + PerformOperation op; + boolean ret = false; + String ans = null; + while (T--> 0) { + String s = br.readLine().trim(); + StringTokenizer st = new StringTokenizer(s); + int ch = Integer.parseInt(st.nextToken()); + int num = Integer.parseInt(st.nextToken()); + if (ch == 1) { + op = ob.is_odd(); + ret = ob.checker(op, num); + ans = (ret) ? "ODD" : "EVEN"; + } else if (ch == 2) { + op = ob.is_prime(); + ret = ob.checker(op, num); + ans = (ret) ? "PRIME" : "COMPOSITE"; + } else if (ch == 3) { + op = ob.is_palindrome(); + ret = ob.checker(op, num); + ans = (ret) ? "PALINDROME" : "NOT PALINDROME"; + } + System.out.println(ans); + } + } +} diff --git a/Java/Advanced/Java MDS/Solution.java b/Java/Advanced/Java MDS/Solution.java new file mode 100644 index 0000000..6c50d10 --- /dev/null +++ b/Java/Advanced/Java MDS/Solution.java @@ -0,0 +1,26 @@ +// Author: Rodney Shaghoulian +// Github: github.com/rshaghoulian +// HackerRank: hackerrank.com/rshaghoulian + +import java.util.Scanner; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; + +public class Solution { + public static void main(String[] args) throws NoSuchAlgorithmException { + /* Read and save the input String */ + Scanner scan = new Scanner(System.in); + String str = scan.next(); + scan.close(); + + /* Encode the String using MD5 */ + MessageDigest md = MessageDigest.getInstance("MD5"); + md.update(str.getBytes()); + byte[] digest = md.digest(); + + /* Print the encoded value in hexadecimal */ + for (byte b : digest) { + System.out.format("%02x", b); + } + } +} diff --git a/Java/Advanced/Java SHA-256/Solution.java b/Java/Advanced/Java SHA-256/Solution.java new file mode 100644 index 0000000..3f5ede6 --- /dev/null +++ b/Java/Advanced/Java SHA-256/Solution.java @@ -0,0 +1,26 @@ +// Author: Rodney Shaghoulian +// Github: github.com/rshaghoulian +// HackerRank: hackerrank.com/rshaghoulian + +import java.util.Scanner; +import java.security.MessageDigest; +import java.security.NoSuchAlgorithmException; + +public class Solution { + public static void main(String[] args) throws NoSuchAlgorithmException { + /* Read and save the input String */ + Scanner scan = new Scanner(System.in); + String str = scan.next(); + scan.close(); + + /* Encode the String using SHA-256 */ + MessageDigest md = MessageDigest.getInstance("SHA-256"); + md.update(str.getBytes()); + byte[] digest = md.digest(); + + /* Print the encoded value in hexadecimal */ + for (byte b : digest) { + System.out.format("%02x", b); + } + } +} diff --git a/Java/Advanced/Java Visitor Pattern/Solution.java b/Java/Advanced/Java Visitor Pattern/Solution.java new file mode 100644 index 0000000..36e23e4 --- /dev/null +++ b/Java/Advanced/Java Visitor Pattern/Solution.java @@ -0,0 +1,242 @@ +// Author: Rodney Shaghoulian +// Github: github.com/rshaghoulian +// HackerRank: hackerrank.com/rshaghoulian + +import java.util.ArrayList; +import java.io.*; +import java.util.*; +import java.text.*; +import java.math.*; +import java.util.regex.*; + +import java.util.ArrayList; +import java.util.Scanner; + +enum Color { + RED, GREEN +} + +abstract class Tree { + private int value; + private Color color; + private int depth; + + public Tree(int value, Color color, int depth) { + this.value = value; + this.color = color; + this.depth = depth; + } + + public int getValue() { + return value; + } + + public Color getColor() { + return color; + } + + public int getDepth() { + return depth; + } + + public abstract void accept(TreeVis visitor); +} + +class TreeNode extends Tree { + private ArrayList children = new ArrayList<>(); + + public TreeNode(int value, Color color, int depth) { + super(value, color, depth); + } + + public void accept(TreeVis visitor) { + visitor.visitNode(this); + for (Tree child : children) { + child.accept(visitor); + } + } + + public void addChild(Tree child) { + children.add(child); + } +} + +class TreeLeaf extends Tree { + public TreeLeaf(int value, Color color, int depth) { + super(value, color, depth); + } + + public void accept(TreeVis visitor) { + visitor.visitLeaf(this); + } +} + +abstract class TreeVis { + public abstract int getResult(); + public abstract void visitNode(TreeNode node); + public abstract void visitLeaf(TreeLeaf leaf); + +} + +// Useful tutorial for Visitor Pattern: +// https://www.tutorialspoint.com/design_pattern/visitor_pattern.htm +// +// I recommend skipping this problem since it's more about creating a +// tree in an obscure format than it is about Visitor patterns. + +class SumInLeavesVisitor extends TreeVis { + private int result = 0; + + public int getResult() { + return result; + } + + public void visitNode(TreeNode node) { + // do nothing + } + + public void visitLeaf(TreeLeaf leaf) { + result += leaf.getValue(); + } +} + +class ProductOfRedNodesVisitor extends TreeVis { + private long result = 1; + private final int M = 1000000007; + + public int getResult() { + return (int) result; + } + + public void visitNode(TreeNode node) { + if (node.getColor() == Color.RED) { + result = (result * node.getValue()) % M; + } + } + + public void visitLeaf(TreeLeaf leaf) { + if (leaf.getColor() == Color.RED) { + result = (result * leaf.getValue()) % M; + } + } +} + +class FancyVisitor extends TreeVis { + private int nonLeafEvenDepthSum = 0; + private int greenLeavesSum = 0; + + public int getResult() { + return Math.abs(nonLeafEvenDepthSum - greenLeavesSum); + } + + public void visitNode(TreeNode node) { + if (node.getDepth() % 2 == 0) { + nonLeafEvenDepthSum += node.getValue(); + } + } + + public void visitLeaf(TreeLeaf leaf) { + if (leaf.getColor() == Color.GREEN) { + greenLeavesSum += leaf.getValue(); + } + } +} + +public class Solution { + private static int [] values; + private static Color [] colors; + private static HashMap> map; + + public static Tree solve() { + Scanner scan = new Scanner(System.in); + int numNodes = scan.nextInt(); + + /* Handle 1-node tree */ + if (numNodes == 1) { + return new TreeLeaf(values[0], colors[0], 0); + } + + /* Read and save nodes and colors */ + values = new int[numNodes]; + colors = new Color[numNodes]; + map = new HashMap<>(numNodes); + for (int i = 0; i < numNodes; i++) { + values[i] = scan.nextInt(); + } + for (int i = 0; i < numNodes; i++) { + colors[i] = scan.nextInt() == 0 ? Color.RED : Color.GREEN; + } + + /* Save edges */ + for (int i = 0; i < numNodes - 1; i++) { + int u = scan.nextInt(); + int v = scan.nextInt(); + + /* Edges are undirected: Add 1st direction */ + HashSet uNeighbors = map.get(u); + if (uNeighbors == null) { + uNeighbors = new HashSet<>(); + } + uNeighbors.add(v); + map.put(u, uNeighbors); + + /* Edges are undirected: Add 2nd direction */ + HashSet vNeighbors = map.get(v); + if (vNeighbors == null) { + vNeighbors = new HashSet<>(); + } + vNeighbors.add(u); + map.put(v, vNeighbors); + } + scan.close(); + + /* Create Tree */ + TreeNode root = new TreeNode(values[0], colors[0], 0); + addChildren(root, 1); + return root; + } + + /* Recursively adds children of a TreeNode */ + private static void addChildren(TreeNode parent, Integer parentNum) { + /* Get HashSet of children and loop through them */ + for (Integer treeNum : map.get(parentNum)) { + map.get(treeNum).remove(parentNum); // removes the opposite arrow direction + + /* Add child */ + HashSet grandChildren = map.get(treeNum); + boolean childHasChild = (grandChildren != null && !grandChildren.isEmpty()); + Tree tree; + if (childHasChild) { + tree = new TreeNode(values[treeNum - 1], colors[treeNum - 1], parent.getDepth() + 1); + } else { + tree = new TreeLeaf(values[treeNum - 1], colors[treeNum - 1], parent.getDepth() + 1); + } + parent.addChild(tree); + + /* Recurse if necessary */ + if (tree instanceof TreeNode) { + addChildren((TreeNode) tree, treeNum); + } + } + } + + public static void main(String[] args) { + Tree root = solve(); + + SumInLeavesVisitor vis1 = new SumInLeavesVisitor(); + ProductOfRedNodesVisitor vis2 = new ProductOfRedNodesVisitor(); + FancyVisitor vis3 = new FancyVisitor(); + + root.accept(vis1); + root.accept(vis2); + root.accept(vis3); + + int res1 = vis1.getResult(); + int res2 = vis2.getResult(); + int res3 = vis3.getResult(); + + System.out.println(res1); + System.out.println(res2); + System.out.println(res3); + } +} diff --git a/Java/Data Structures/Java Comparator/Solution.java b/Java/Data Structures/Java Comparator/Solution.java index 91ea506..cf0052f 100644 --- a/Java/Data Structures/Java Comparator/Solution.java +++ b/Java/Data Structures/Java Comparator/Solution.java @@ -10,7 +10,7 @@ class Checker implements Comparator { if (p1.score == p2.score) { return p1.name.compareTo(p2.name); } else { - return p2.score - p1.score; + return p2.score - p1.score; // descending order } } } diff --git a/Java/Introduction/Java Date and Time/Solution.java b/Java/Introduction/Java Date and Time/Solution.java index 63d5ad0..360c29a 100644 --- a/Java/Introduction/Java Date and Time/Solution.java +++ b/Java/Introduction/Java Date and Time/Solution.java @@ -6,7 +6,6 @@ import java.util.Scanner; import java.time.LocalDate; public class Solution { - public static void main(String[] args) { /* Read input */ Scanner scan = new Scanner(System.in); diff --git a/Java/Object Oriented Programming/Calculating Volume/Solution.java b/Java/Object Oriented Programming/Calculating Volume/Solution.java index 551c3aa..b6557d1 100644 --- a/Java/Object Oriented Programming/Calculating Volume/Solution.java +++ b/Java/Object Oriented Programming/Calculating Volume/Solution.java @@ -17,7 +17,7 @@ import java.security.Permission; class Calculate { static Scanner scan = new Scanner(System.in); static Output output = new Output(); - + public static Calculate do_calc() { return new Calculate(); } @@ -64,61 +64,3 @@ class Output { System.out.format("%.3f%n", value); } } - -public class Solution { - public static void main(String[] args) { - DoNotTerminate.forbidExit(); - try { - Calculate cal = new Calculate(); - int T = cal.get_int_val(); - while (T--> 0) { - double volume = 0.0; - int ch = cal.get_int_val(); - if (ch == 1) { - int a = cal.get_int_val(); - volume = Calculate.do_calc().get_volume(a); - } else if (ch == 2) { - int l = cal.get_int_val(); - int b = cal.get_int_val(); - int h = cal.get_int_val(); - volume = Calculate.do_calc().get_volume(l, b, h); - } else if (ch == 3) { - double r = cal.get_double_val(); - volume = Calculate.do_calc().get_volume(r); - } else if (ch == 4) { - double r = cal.get_double_val(); - double h = cal.get_double_val(); - volume = Calculate.do_calc().get_volume(r, h); - } - cal.output.display(volume); - } - } catch (NumberFormatException e) { - System.out.print(e); - } catch (IOException e) { - e.printStackTrace(); - } catch (DoNotTerminate.ExitTrappedException e) { - System.out.println("Unsuccessful Termination!!"); - } - } // end of main -} // end of Solution - -/** -* This class prevents the user form using System.exit(0) -* from terminating the program abnormally. -*/ -class DoNotTerminate { - - public static class ExitTrappedException extends SecurityException {} - - public static void forbidExit() { - final SecurityManager securityManager = new SecurityManager() { - @Override - public void checkPermission(Permission permission) { - if (permission.getName().contains("exitVM")) { - throw new ExitTrappedException(); - } - } - }; - System.setSecurityManager(securityManager); - } -} // end of Do_Not_Terminate diff --git a/Java/README.md b/Java/README.md index fbc1fb7..f9652be 100644 --- a/Java/README.md +++ b/Java/README.md @@ -2,68 +2,68 @@ | Domain | Subdomain | Challenge | Difficulty | Solution | |:------:|:---------------------------:|:------------------------------------------------------------------------------------------------------------------------:|:----------:|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:| -| Java | Introduction | [Welcome to Java!](https://www.hackerrank.com/challenges/welcome-to-java) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Introduction/Welcome%20to%20Java!/Solution.java) | -| Java | Introduction | [Java Stdin and Stdout I](https://www.hackerrank.com/challenges/java-stdin-and-stdout-1) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Introduction/Java%20Stdin%20and%20Stdout%20I/Solution.java) | -| Java | Introduction | [Java If-Else](https://www.hackerrank.com/challenges/java-if-else) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Introduction/Java%20If-Else/Solution.java) | -| Java | Introduction | [Java Stdin and Stdout II](https://www.hackerrank.com/challenges/java-stdin-stdout) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Introduction/Java%20Stdin%20and%20Stdout%20II/Solution.java) | -| Java | Introduction | [Java Output Formatting](https://www.hackerrank.com/challenges/java-output-formatting) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Introduction/Java%20Output%20Formatting/Solution.java) | -| Java | Introduction | [Java Loops I](https://www.hackerrank.com/challenges/java-loops-i) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Introduction/Java%20Loops%20I/Solution.java) | -| Java | Introduction | [Java Loops II](https://www.hackerrank.com/challenges/java-loops) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Introduction/Java%20Loops%20II/Solution.java) | -| Java | Introduction | [Java Datatypes](https://www.hackerrank.com/challenges/java-datatypes) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Introduction/Java%20Datatypes/Solution.java) | -| Java | Introduction | [Java End-of-file](https://www.hackerrank.com/challenges/java-end-of-file) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Introduction/Java%20End-of-file/Solution.java) | -| Java | Introduction | [Java Static Initializer Block](https://www.hackerrank.com/challenges/java-static-initializer-block) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Introduction/Java%20Static%20Initializer%20Block/Solution.java) | -| Java | Introduction | [Java Int to String](https://www.hackerrank.com/challenges/java-int-to-string) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Introduction/Java%20Int%20to%20String/Solution.java) | -| Java | Introduction | [Java Data and Time](https://www.hackerrank.com/challenges/java-date-and-time) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Introduction/Java%20Date%20and%20Time/Solution.java) | -| Java | Introduction | [Java Currency Formatter](https://www.hackerrank.com/challenges/java-currency-formatter) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Introduction/Java%20Currency%20Formatter/Solution.java) | -| Java | Strings | [Java Strings Introduction](https://www.hackerrank.com/challenges/java-strings-introduction) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Strings/Java%20Strings%20Introduction/Solution.java) | -| Java | Strings | [Java Substring](https://www.hackerrank.com/challenges/java-substring) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Strings/Java%20Substring/Solution.java) | -| Java | Strings | [Java String Compare](https://www.hackerrank.com/challenges/java-string-compare) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Strings/Java%20String%20Compare/Solution.java) | -| Java | Strings | [Java String Reverse](https://www.hackerrank.com/challenges/java-string-reverse) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Strings/Java%20String%20Reverse/Solution.java) | -| Java | Strings | [Java Anagrams](https://www.hackerrank.com/challenges/java-anagrams) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Strings/Java%20Anagrams/Solution.java) | -| Java | Strings | [Java String Tokens](https://www.hackerrank.com/challenges/java-string-tokens) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Strings/Java%20String%20Tokens/Solution.java) | -| Java | Strings | [Pattern Syntax Checker](https://www.hackerrank.com/challenges/pattern-syntax-checker) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Strings/Pattern%20Syntax%20Checker/Solution.java) | -| Java | Strings | [Java Regex](https://www.hackerrank.com/challenges/java-regex) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Strings/Java%20Regex/Solution.java) | -| Java | Strings | [Java Regex 2 - Duplicate Words](https://www.hackerrank.com/challenges/duplicate-word) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Strings/Java%20Regex%202%20-%20Duplicate%20Words/Solution.java) | -| Java | Strings | [Java Regex 3 - Username Checker](https://www.hackerrank.com/challenges/valid-username-checker) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Strings/Java%20Regex%203%20-%20Username%20Checker/Solution.java) | -| Java | Strings | [Tag Content Extractor](https://www.hackerrank.com/challenges/tag-content-extractor) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Strings/Tag%20Content%20Extractor/Solution.java) | -| Java | BigNumber | [Java BigInteger](https://www.hackerrank.com/challenges/java-biginteger) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/BigNumber/Java%20BigInteger/Solution.java) | -| Java | BigNumber | [Java BigDecimal](https://www.hackerrank.com/challenges/java-bigdecimal) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/BigNumber/Java%20BigDecimal/Solution.java) | -| Java | BigNumber | [Java Primality Test](https://www.hackerrank.com/challenges/java-primality-test) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/BigNumber/Java%20Primality%20Test/Solution.java) | -| Java | Data Structures | [Java 1D Array](https://www.hackerrank.com/challenges/java-1d-array-introduction) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%201D%20Array/Solution.java) | -| Java | Data Structures | [Java 2D Array](https://www.hackerrank.com/challenges/java-2d-array) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%202D%20Array/Solution.java) | -| Java | Data Structures | [Java Subarray](https://www.hackerrank.com/challenges/java-negative-subarray) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%20Subarray/Solution.java) | -| Java | Data Structures | [Java Arraylist](https://www.hackerrank.com/challenges/java-arraylist) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%20ArrayList/Solution.java) | -| Java | Data Structures | [Java 1D Array (Part 2)](https://www.hackerrank.com/challenges/java-1d-array) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%201D%20Array%20(Part%202)/Solution.java) | -| Java | Data Structures | [Java List](https://www.hackerrank.com/challenges/java-list) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%20List/Solution.java) | -| Java | Data Structures | [Java Map](https://www.hackerrank.com/challenges/phone-book) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%20Map/Solution.java) | -| Java | Data Structures | [Java Stack](https://www.hackerrank.com/challenges/java-stack) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%20Stack/Solution.java) | -| Java | Data Structures | [Java Hashset](https://www.hackerrank.com/challenges/java-hashset) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%20Hashset/Solution.java) | -| Java | Data Structures | [Java Generics](https://www.hackerrank.com/challenges/java-generics) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%20Generics/Solution.java) | -| Java | Data Structures | [Java Comparator](https://www.hackerrank.com/challenges/java-comparator) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%20Comparator/Solution.java) | -| Java | Data Structures | [Java Sort](https://www.hackerrank.com/challenges/java-sort) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%20Sort/Solution.java) | -| Java | Data Structures | [Java Dequeue](https://www.hackerrank.com/challenges/java-dequeue) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%20Dequeue/Solution.java) | -| Java | Data Structures | [Java BitSet](https://www.hackerrank.com/challenges/java-bitset) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%20BitSet/Solution.java) | -| Java | Data Structures | [Java Priority Queue](https://www.hackerrank.com/challenges/java-priority-queue) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%20Priority%20Queue/Solution.java) | -| Java | Object Oriented Programming | [Java Inheritance I](https://www.hackerrank.com/challenges/java-inheritance-1) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Object%20Oriented%20Programming/Java%20Inheritance%20I/Solution.java) | -| Java | Object Oriented Programming | [Java Inheritance II](https://www.hackerrank.com/challenges/java-inheritance-2) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Object%20Oriented%20Programming/Java%20Inheritance%20II/Solution.java) | -| Java | Object Oriented Programming | [Java Abstract Class](https://www.hackerrank.com/challenges/java-abstract-class) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Object%20Oriented%20Programming/Java%20Abstract%20Class/Solution.java) | -| Java | Object Oriented Programming | [Java Interface](https://www.hackerrank.com/challenges/java-interface) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Object%20Oriented%20Programming/Java%20Interface/Solution.java) | -| Java | Object Oriented Programming | [Java Method Overriding](https://www.hackerrank.com/challenges/java-method-overriding) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Object%20Oriented%20Programming/Java%20Method%20Overriding/Solution.java) | +| Java | Introduction | [Welcome to Java!](https://www.hackerrank.com/challenges/welcome-to-java) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Introduction/Welcome%20to%20Java!/Solution.java) | +| Java | Introduction | [Java Stdin and Stdout I](https://www.hackerrank.com/challenges/java-stdin-and-stdout-1) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Introduction/Java%20Stdin%20and%20Stdout%20I/Solution.java) | +| Java | Introduction | [Java If-Else](https://www.hackerrank.com/challenges/java-if-else) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Introduction/Java%20If-Else/Solution.java) | +| Java | Introduction | [Java Stdin and Stdout II](https://www.hackerrank.com/challenges/java-stdin-stdout) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Introduction/Java%20Stdin%20and%20Stdout%20II/Solution.java) | +| Java | Introduction | [Java Output Formatting](https://www.hackerrank.com/challenges/java-output-formatting) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Introduction/Java%20Output%20Formatting/Solution.java) | +| Java | Introduction | [Java Loops I](https://www.hackerrank.com/challenges/java-loops-i) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Introduction/Java%20Loops%20I/Solution.java) | +| Java | Introduction | [Java Loops II](https://www.hackerrank.com/challenges/java-loops) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Introduction/Java%20Loops%20II/Solution.java) | +| Java | Introduction | [Java Datatypes](https://www.hackerrank.com/challenges/java-datatypes) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Introduction/Java%20Datatypes/Solution.java) | +| Java | Introduction | [Java End-of-file](https://www.hackerrank.com/challenges/java-end-of-file) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Introduction/Java%20End-of-file/Solution.java) | +| Java | Introduction | [Java Static Initializer Block](https://www.hackerrank.com/challenges/java-static-initializer-block) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Introduction/Java%20Static%20Initializer%20Block/Solution.java) | +| Java | Introduction | [Java Int to String](https://www.hackerrank.com/challenges/java-int-to-string) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Introduction/Java%20Int%20to%20String/Solution.java) | +| Java | Introduction | [Java Date and Time](https://www.hackerrank.com/challenges/java-date-and-time) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Introduction/Java%20Date%20and%20Time/Solution.java) | +| Java | Introduction | [Java Currency Formatter](https://www.hackerrank.com/challenges/java-currency-formatter) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Introduction/Java%20Currency%20Formatter/Solution.java) | +| Java | Strings | [Java Strings Introduction](https://www.hackerrank.com/challenges/java-strings-introduction) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Strings/Java%20Strings%20Introduction/Solution.java) | +| Java | Strings | [Java Substring](https://www.hackerrank.com/challenges/java-substring) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Strings/Java%20Substring/Solution.java) | +| Java | Strings | [Java String Compare](https://www.hackerrank.com/challenges/java-string-compare) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Strings/Java%20String%20Compare/Solution.java) | +| Java | Strings | [Java String Reverse](https://www.hackerrank.com/challenges/java-string-reverse) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Strings/Java%20String%20Reverse/Solution.java) | +| Java | Strings | [Java Anagrams](https://www.hackerrank.com/challenges/java-anagrams) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Strings/Java%20Anagrams/Solution.java) | +| Java | Strings | [Java String Tokens](https://www.hackerrank.com/challenges/java-string-tokens) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Strings/Java%20String%20Tokens/Solution.java) | +| Java | Strings | [Pattern Syntax Checker](https://www.hackerrank.com/challenges/pattern-syntax-checker) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Strings/Pattern%20Syntax%20Checker/Solution.java) | +| Java | Strings | [Java Regex](https://www.hackerrank.com/challenges/java-regex) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Strings/Java%20Regex/Solution.java) | +| Java | Strings | [Java Regex 2 - Duplicate Words](https://www.hackerrank.com/challenges/duplicate-word) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Strings/Java%20Regex%202%20-%20Duplicate%20Words/Solution.java) | +| Java | Strings | [Java Regex 3 - Username Checker](https://www.hackerrank.com/challenges/valid-username-checker) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Strings/Java%20Regex%203%20-%20Username%20Checker/Solution.java) | +| Java | Strings | [Tag Content Extractor](https://www.hackerrank.com/challenges/tag-content-extractor) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Strings/Tag%20Content%20Extractor/Solution.java) | +| Java | BigNumber | [Java BigInteger](https://www.hackerrank.com/challenges/java-biginteger) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/BigNumber/Java%20BigInteger/Solution.java) | +| Java | BigNumber | [Java BigDecimal](https://www.hackerrank.com/challenges/java-bigdecimal) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/BigNumber/Java%20BigDecimal/Solution.java) | +| Java | BigNumber | [Java Primality Test](https://www.hackerrank.com/challenges/java-primality-test) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/BigNumber/Java%20Primality%20Test/Solution.java) | +| Java | Data Structures | [Java 1D Array](https://www.hackerrank.com/challenges/java-1d-array-introduction) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%201D%20Array/Solution.java) | +| Java | Data Structures | [Java 2D Array](https://www.hackerrank.com/challenges/java-2d-array) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%202D%20Array/Solution.java) | +| Java | Data Structures | [Java Subarray](https://www.hackerrank.com/challenges/java-negative-subarray) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%20Subarray/Solution.java) | +| Java | Data Structures | [Java Arraylist](https://www.hackerrank.com/challenges/java-arraylist) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%20ArrayList/Solution.java) | +| Java | Data Structures | [Java 1D Array (Part 2)](https://www.hackerrank.com/challenges/java-1d-array) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%201D%20Array%20(Part%202)/Solution.java) | +| Java | Data Structures | [Java List](https://www.hackerrank.com/challenges/java-list) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%20List/Solution.java) | +| Java | Data Structures | [Java Map](https://www.hackerrank.com/challenges/phone-book) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%20Map/Solution.java) | +| Java | Data Structures | [Java Stack](https://www.hackerrank.com/challenges/java-stack) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%20Stack/Solution.java) | +| Java | Data Structures | [Java Hashset](https://www.hackerrank.com/challenges/java-hashset) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%20Hashset/Solution.java) | +| Java | Data Structures | [Java Generics](https://www.hackerrank.com/challenges/java-generics) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%20Generics/Solution.java) | +| Java | Data Structures | [Java Comparator](https://www.hackerrank.com/challenges/java-comparator) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%20Comparator/Solution.java) | +| Java | Data Structures | [Java Sort](https://www.hackerrank.com/challenges/java-sort) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%20Sort/Solution.java) | +| Java | Data Structures | [Java Dequeue](https://www.hackerrank.com/challenges/java-dequeue) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%20Dequeue/Solution.java) | +| Java | Data Structures | [Java BitSet](https://www.hackerrank.com/challenges/java-bitset) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%20BitSet/Solution.java) | +| Java | Data Structures | [Java Priority Queue](https://www.hackerrank.com/challenges/java-priority-queue) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%20Priority%20Queue/Solution.java) | +| Java | Object Oriented Programming | [Java Inheritance I](https://www.hackerrank.com/challenges/java-inheritance-1) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Object%20Oriented%20Programming/Java%20Inheritance%20I/Solution.java) | +| Java | Object Oriented Programming | [Java Inheritance II](https://www.hackerrank.com/challenges/java-inheritance-2) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Object%20Oriented%20Programming/Java%20Inheritance%20II/Solution.java) | +| Java | Object Oriented Programming | [Java Abstract Class](https://www.hackerrank.com/challenges/java-abstract-class) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Object%20Oriented%20Programming/Java%20Abstract%20Class/Solution.java) | +| Java | Object Oriented Programming | [Java Interface](https://www.hackerrank.com/challenges/java-interface) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Object%20Oriented%20Programming/Java%20Interface/Solution.java) | +| Java | Object Oriented Programming | [Java Method Overriding](https://www.hackerrank.com/challenges/java-method-overriding) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Object%20Oriented%20Programming/Java%20Method%20Overriding/Solution.java) | | Java | Object Oriented Programming | [Java Method Overriding 2 (Super Keyword)](https://www.hackerrank.com/challenges/java-method-overriding-2-super-keyword) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Object%20Oriented%20Programming/Java%20Method%20Overriding%202%20(Super%20Keyword)/Solution.java) | -| Java | Object Oriented Programming | [Java Instanceof keyword](https://www.hackerrank.com/challenges/java-instanceof-keyword) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Object%20Oriented%20Programming/Java%20Instanceof%20keyword/Solution.java) | -| Java | Object Oriented Programming | [Java Iterator](https://www.hackerrank.com/challenges/java-iterator) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Object%20Oriented%20Programming/Java%20Iterator/Solution.java) | -| Java | Object Oriented Programming | [Calculating Volume](https://www.hackerrank.com/challenges/calculating-volume) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Object%20Oriented%20Programming/Calculating%20Volume/Solution.java) | -| Java | Exception Handling | [Java Exception Handling (Try-catch)](https://www.hackerrank.com/challenges/java-exception-handling-try-catch) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Exception%20Handling/Java%20Exception%20Handling%20(Try-catch)/Solution.java) | -| Java | Exception Handling | [Java Exception Handling](https://www.hackerrank.com/challenges/java-exception-handling) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Exception%20Handling/Java%20Exception%20Handling/Solution.java) | -| Java | Advanced | [Java Varargs - Simple Addition](https://www.hackerrank.com/challenges/simple-addition-varargs) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Advanced/Java%20Varargs%20-%20Simple%20Addition/Solution.java) | -| Java | Advanced | [Java Reflection - Attributes](https://www.hackerrank.com/challenges/java-reflection-attributes) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Advanced/Java%20Reflection%20-%20Attributes/Solution.java) | -| Java | Advanced | [Can You Access](https://www.hackerrank.com/challenges/can-you-access) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Advanced/Can%20You%20Access/Solution.java) | -| Java | Advanced | [Prime Checker](https://www.hackerrank.com/challenges/prime-checker) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Advanced/Prime%20Checker/Solution.java) | -| Java | Advanced | [Java Factory Pattern](https://www.hackerrank.com/challenges/java-factory) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Advanced/Java%20Factory%20Pattern/Solution.java) | -| Java | Advanced | [Java Singleton Pattern](https://www.hackerrank.com/challenges/java-singleton) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Advanced/Java%20Singleton%20Pattern/Solution.java) | -| Java | Advanced | [Java Visitor Pattern](https://www.hackerrank.com/challenges/java-vistor-pattern) | Medium | Coming Soon! | -| Java | Advanced | [Java Annotations](https://www.hackerrank.com/challenges/java-annotations) | Medium | Coming Soon! | -| Java | Advanced | [Covariant Return Types](https://www.hackerrank.com/challenges/java-covariance) | Easy | Coming Soon! | -| Java | Advanced | [Java Lambda Expressions](https://www.hackerrank.com/challenges/java-lambda-expressions) | Medium | Coming Soon! | -| Java | Advanced | [Java MD5](https://www.hackerrank.com/challenges/java-md5) | Medium | Coming Soon! | -| Java | Advanced | [Java SHA-256](https://www.hackerrank.com/challenges/sha-256) | Medium | Coming Soon! | +| Java | Object Oriented Programming | [Java Instanceof keyword](https://www.hackerrank.com/challenges/java-instanceof-keyword) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Object%20Oriented%20Programming/Java%20Instanceof%20keyword/Solution.java) | +| Java | Object Oriented Programming | [Java Iterator](https://www.hackerrank.com/challenges/java-iterator) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Object%20Oriented%20Programming/Java%20Iterator/Solution.java) | +| Java | Object Oriented Programming | [Calculating Volume](https://www.hackerrank.com/challenges/calculating-volume) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Object%20Oriented%20Programming/Calculating%20Volume/Solution.java) | +| Java | Exception Handling | [Java Exception Handling (Try-catch)](https://www.hackerrank.com/challenges/java-exception-handling-try-catch) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Exception%20Handling/Java%20Exception%20Handling%20(Try-catch)/Solution.java) | +| Java | Exception Handling | [Java Exception Handling](https://www.hackerrank.com/challenges/java-exception-handling) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Exception%20Handling/Java%20Exception%20Handling/Solution.java) | +| Java | Advanced | [Java Varargs - Simple Addition](https://www.hackerrank.com/challenges/simple-addition-varargs) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Advanced/Java%20Varargs%20-%20Simple%20Addition/Solution.java) | +| Java | Advanced | [Java Reflection - Attributes](https://www.hackerrank.com/challenges/java-reflection-attributes) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Advanced/Java%20Reflection%20-%20Attributes/Solution.java) | +| Java | Advanced | [Can You Access](https://www.hackerrank.com/challenges/can-you-access) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Advanced/Can%20You%20Access/Solution.java) | +| Java | Advanced | [Prime Checker](https://www.hackerrank.com/challenges/prime-checker) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Advanced/Prime%20Checker/Solution.java) | +| Java | Advanced | [Java Factory Pattern](https://www.hackerrank.com/challenges/java-factory) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Advanced/Java%20Factory%20Pattern/Solution.java) | +| Java | Advanced | [Java Singleton Pattern](https://www.hackerrank.com/challenges/java-singleton) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Advanced/Java%20Singleton%20Pattern/Solution.java) | +| Java | Advanced | [Java Visitor Pattern](https://www.hackerrank.com/challenges/java-vistor-pattern) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Advanced/Java%20Visitor%20Pattern/Solution.java) | +| Java | Advanced | [Java Annotations](https://www.hackerrank.com/challenges/java-annotations) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Advanced/Java%20Annotations/Solution.java) | +| Java | Advanced | [Covariant Return Types](https://www.hackerrank.com/challenges/java-covariance) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Advanced/Covariant%20Return%20Types/Solution.java) | +| Java | Advanced | [Java Lambda Expressions](https://www.hackerrank.com/challenges/java-lambda-expressions) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Advanced/Java%20Lambda%20Expressions/Solution.java) | +| Java | Advanced | [Java MD5](https://www.hackerrank.com/challenges/java-md5) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Advanced/Java%20MDS/Solution.java) | +| Java | Advanced | [Java SHA-256](https://www.hackerrank.com/challenges/sha-256) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Advanced/Java%20SHA-256/Solution.java) | diff --git a/README.md b/README.md index 9752512..766c78a 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,13 @@ # HackerRank-solutions -173 efficient solutions to [HackerRank](https://www.hackerrank.com/) problems +200 efficient solutions to [HackerRank](https://www.hackerrank.com/) problems * [10 Days of Statistics](#10-days-of-statistics) (Complete) -* [30 Days of Code](#30-days-of-code) (23/30 solutions) -* [Algorithms](#algorithms) (10/300+ solutions) +* [30 Days of Code](#30-days-of-code) (28/30 solutions) +* [Algorithms](#algorithms) (22/362 solutions) * [Cracking the Coding Interview](#cracking-the-coding-interview) (Complete) -* [Data Structures](#data-structures) (34/107 solutions) -* [Java](#java) (59/65 solutions) +* [Data Structures](#data-structures) (38/107 solutions) +* [Java](#java) (Complete) Solutions are coded using Java 8 @@ -16,285 +16,644 @@ Solutions are coded using Java 8 | Domain | Subdomain | Day | Challenge | Difficulty | Solution | |:---------:|:---------------------:|:---:|:--------------------------------------------------------------------------------------------------------------------------:|:---------------:|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:| -| Tutorials | 10 Days of Statistics | 0 | [Mean, Median, and Mode](https://www.hackerrank.com/challenges/s10-basic-statistics) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%200%20-%20Mean%2C%20Median%2C%20and%20Mode/Solution.java) | -| Tutorials | 10 Days of Statistics | 0 | [Weighted Mean](https://www.hackerrank.com/challenges/s10-weighted-mean) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%200%20-%20Weighted%20Mean/Solution.java) | -| Tutorials | 10 Days of Statistics | 1 | [Quartiles](https://www.hackerrank.com/challenges/s10-quartiles) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%201%20-%20Quartiles/Solution.java) | -| Tutorials | 10 Days of Statistics | 1 | [Interquartile Range](https://www.hackerrank.com/challenges/s10-interquartile-range) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%201%20-%20Interquartile%20Range/Solution.java) | -| Tutorials | 10 Days of Statistics | 1 | [Standard Deviation](https://www.hackerrank.com/challenges/s10-standard-deviation) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%201%20-%20Standard%20Deviation/Solution.java) | -| Tutorials | 10 Days of Statistics | 2 | [Basic Probability](https://www.hackerrank.com/challenges/s10-mcq-1) | Multiple Choice | [Solution.txt](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%202%20-%20Basic%20Probability/Solution.txt) | -| Tutorials | 10 Days of Statistics | 2 | [More Dice](https://www.hackerrank.com/challenges/s10-mcq-2) | Multiple Choice | [Solution.txt](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%202%20-%20More%20Dice/Solution.txt) | -| Tutorials | 10 Days of Statistics | 2 | [Compound Event Probability](https://www.hackerrank.com/challenges/s10-mcq-3) | Multiple Choice | [Solution.txt](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%202%20-%20Compound%20Event%20Probability/Solution.txt) | -| Tutorials | 10 Days of Statistics | 3 | [Conditional Probability](https://www.hackerrank.com/challenges/s10-mcq-4) | Multiple Choice | [Solution.txt](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%203%20-%20Conditional%20Probability/Solution.txt) | -| Tutorials | 10 Days of Statistics | 3 | [Cards of the Same Suit](https://www.hackerrank.com/challenges/s10-mcq-5) | Multiple Choice | [Solution.txt](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%203%20-%20Cards%20of%20the%20Same%20Suit/Solution.txt) | -| Tutorials | 10 Days of Statistics | 3 | [Drawing Marbles](https://www.hackerrank.com/challenges/s10-mcq-6) | Multiple Choice | [Solution.txt](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%203%20-%20Drawing%20Marbles/Solution.txt) | -| Tutorials | 10 Days of Statistics | 4 | [Binomial Distribution I](https://www.hackerrank.com/challenges/s10-binomial-distribution-1) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%204%20-%20Binomial%20Distribution%20I/Solution.java) | -| Tutorials | 10 Days of Statistics | 4 | [Binomial Distribution II](https://www.hackerrank.com/challenges/s10-binomial-distribution-2) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%204%20-%20Binomial%20Distribution%20II/Solution.java) | -| Tutorials | 10 Days of Statistics | 4 | [Geometric Distribution I](https://www.hackerrank.com/challenges/s10-geometric-distribution-1) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%204%20-%20Geometric%20Distribution%20I/Solution.java) | -| Tutorials | 10 Days of Statistics | 4 | [Geometric Distribution II](https://www.hackerrank.com/challenges/s10-geometric-distribution-2) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%204%20-%20Geometric%20Distribution%20II/Solution.java) | -| Tutorials | 10 Days of Statistics | 5 | [Poisson Distribution I](https://www.hackerrank.com/challenges/s10-poisson-distribution-1) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%205%20-%20Poisson%20Distribution%20I/Solution.java) | -| Tutorials | 10 Days of Statistics | 5 | [Poisson Distribution II](https://www.hackerrank.com/challenges/s10-poisson-distribution-2) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%205%20-%20Poisson%20Distribution%20II/Solution.java) | -| Tutorials | 10 Days of Statistics | 5 | [Normal Distribution I](https://www.hackerrank.com/challenges/s10-normal-distribution-1) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%205%20-%20Normal%20Distribution%20I/Solution.java) | -| Tutorials | 10 Days of Statistics | 5 | [Normal Distribution II](https://www.hackerrank.com/challenges/s10-normal-distribution-2) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%205%20-%20Normal%20Distribution%20II/Solution.java) | -| Tutorials | 10 Days of Statistics | 6 | [The Central Limit Theorem I](https://www.hackerrank.com/challenges/s10-the-central-limit-theorem-1) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%206%20-%20The%20Central%20Limit%20Theorem%20I/Solution.java) | -| Tutorials | 10 Days of Statistics | 6 | [The Central Limit Theorem II](https://www.hackerrank.com/challenges/s10-the-central-limit-theorem-2) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%206%20-%20The%20Central%20Limit%20Theorem%20II/Solution.java) | -| Tutorials | 10 Days of Statistics | 6 | [The Central Limit Theorem III](https://www.hackerrank.com/challenges/s10-the-central-limit-theorem-3) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%206%20-%20The%20Central%20Limit%20Theorem%20III/Solution.java) | -| Tutorials | 10 Days of Statistics | 7 | [Pearson Correlation Coefficient I](https://www.hackerrank.com/challenges/s10-pearson-correlation-coefficient) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%207%20-%20Pearson%20Correlation%20Coefficient%20I/Solution.java) | +| Tutorials | 10 Days of Statistics | 0 | [Mean, Median, and Mode](https://www.hackerrank.com/challenges/s10-basic-statistics) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%200%20-%20Mean%2C%20Median%2C%20and%20Mode/Solution.java) | +| Tutorials | 10 Days of Statistics | 0 | [Weighted Mean](https://www.hackerrank.com/challenges/s10-weighted-mean) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%200%20-%20Weighted%20Mean/Solution.java) | +| Tutorials | 10 Days of Statistics | 1 | [Quartiles](https://www.hackerrank.com/challenges/s10-quartiles) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%201%20-%20Quartiles/Solution.java) | +| Tutorials | 10 Days of Statistics | 1 | [Interquartile Range](https://www.hackerrank.com/challenges/s10-interquartile-range) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%201%20-%20Interquartile%20Range/Solution.java) | +| Tutorials | 10 Days of Statistics | 1 | [Standard Deviation](https://www.hackerrank.com/challenges/s10-standard-deviation) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%201%20-%20Standard%20Deviation/Solution.java) | +| Tutorials | 10 Days of Statistics | 2 | [Basic Probability](https://www.hackerrank.com/challenges/s10-mcq-1) | Multiple Choice | [Solution.txt](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%202%20-%20Basic%20Probability/Solution.txt) | +| Tutorials | 10 Days of Statistics | 2 | [More Dice](https://www.hackerrank.com/challenges/s10-mcq-2) | Multiple Choice | [Solution.txt](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%202%20-%20More%20Dice/Solution.txt) | +| Tutorials | 10 Days of Statistics | 2 | [Compound Event Probability](https://www.hackerrank.com/challenges/s10-mcq-3) | Multiple Choice | [Solution.txt](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%202%20-%20Compound%20Event%20Probability/Solution.txt) | +| Tutorials | 10 Days of Statistics | 3 | [Conditional Probability](https://www.hackerrank.com/challenges/s10-mcq-4) | Multiple Choice | [Solution.txt](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%203%20-%20Conditional%20Probability/Solution.txt) | +| Tutorials | 10 Days of Statistics | 3 | [Cards of the Same Suit](https://www.hackerrank.com/challenges/s10-mcq-5) | Multiple Choice | [Solution.txt](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%203%20-%20Cards%20of%20the%20Same%20Suit/Solution.txt) | +| Tutorials | 10 Days of Statistics | 3 | [Drawing Marbles](https://www.hackerrank.com/challenges/s10-mcq-6) | Multiple Choice | [Solution.txt](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%203%20-%20Drawing%20Marbles/Solution.txt) | +| Tutorials | 10 Days of Statistics | 4 | [Binomial Distribution I](https://www.hackerrank.com/challenges/s10-binomial-distribution-1) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%204%20-%20Binomial%20Distribution%20I/Solution.java) | +| Tutorials | 10 Days of Statistics | 4 | [Binomial Distribution II](https://www.hackerrank.com/challenges/s10-binomial-distribution-2) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%204%20-%20Binomial%20Distribution%20II/Solution.java) | +| Tutorials | 10 Days of Statistics | 4 | [Geometric Distribution I](https://www.hackerrank.com/challenges/s10-geometric-distribution-1) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%204%20-%20Geometric%20Distribution%20I/Solution.java) | +| Tutorials | 10 Days of Statistics | 4 | [Geometric Distribution II](https://www.hackerrank.com/challenges/s10-geometric-distribution-2) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%204%20-%20Geometric%20Distribution%20II/Solution.java) | +| Tutorials | 10 Days of Statistics | 5 | [Poisson Distribution I](https://www.hackerrank.com/challenges/s10-poisson-distribution-1) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%205%20-%20Poisson%20Distribution%20I/Solution.java) | +| Tutorials | 10 Days of Statistics | 5 | [Poisson Distribution II](https://www.hackerrank.com/challenges/s10-poisson-distribution-2) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%205%20-%20Poisson%20Distribution%20II/Solution.java) | +| Tutorials | 10 Days of Statistics | 5 | [Normal Distribution I](https://www.hackerrank.com/challenges/s10-normal-distribution-1) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%205%20-%20Normal%20Distribution%20I/Solution.java) | +| Tutorials | 10 Days of Statistics | 5 | [Normal Distribution II](https://www.hackerrank.com/challenges/s10-normal-distribution-2) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%205%20-%20Normal%20Distribution%20II/Solution.java) | +| Tutorials | 10 Days of Statistics | 6 | [The Central Limit Theorem I](https://www.hackerrank.com/challenges/s10-the-central-limit-theorem-1) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%206%20-%20The%20Central%20Limit%20Theorem%20I/Solution.java) | +| Tutorials | 10 Days of Statistics | 6 | [The Central Limit Theorem II](https://www.hackerrank.com/challenges/s10-the-central-limit-theorem-2) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%206%20-%20The%20Central%20Limit%20Theorem%20II/Solution.java) | +| Tutorials | 10 Days of Statistics | 6 | [The Central Limit Theorem III](https://www.hackerrank.com/challenges/s10-the-central-limit-theorem-3) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%206%20-%20The%20Central%20Limit%20Theorem%20III/Solution.java) | +| Tutorials | 10 Days of Statistics | 7 | [Pearson Correlation Coefficient I](https://www.hackerrank.com/challenges/s10-pearson-correlation-coefficient) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%207%20-%20Pearson%20Correlation%20Coefficient%20I/Solution.java) | | Tutorials | 10 Days of Statistics | 7 | [Spearman's Rank Correlation Coefficient](https://www.hackerrank.com/challenges/s10-spearman-rank-correlation-coefficient) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%207%20-%20Spearman%27s%20Rank%20Correlation%20Coefficient/Solution.java) | -| Tutorials | 10 Days of Statistics | 8 | [Least Square Regression Line](https://www.hackerrank.com/challenges/s10-least-square-regression-line) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%208%20-%20Least%20Square%20Regression%20Rate/Solution.java) | -| Tutorials | 10 Days of Statistics | 8 | [Pearson Correlation Coefficient II](https://www.hackerrank.com/challenges/s10-mcq-7) | Multiple Choice | [Solution.txt](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%208%20-%20Pearson%20Correlation%20Coefficient%20II/Solution.txt) | -| Tutorials | 10 Days of Statistics | 9 | [Multiple Linear Regression](https://www.hackerrank.com/challenges/s10-multiple-linear-regression) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%209%20-%20Multiple%20Linear%20Regression/Solution.java) | +| Tutorials | 10 Days of Statistics | 8 | [Least Square Regression Line](https://www.hackerrank.com/challenges/s10-least-square-regression-line) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%208%20-%20Least%20Square%20Regression%20Rate/Solution.java) | +| Tutorials | 10 Days of Statistics | 8 | [Pearson Correlation Coefficient II](https://www.hackerrank.com/challenges/s10-mcq-7) | Multiple Choice | [Solution.txt](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%208%20-%20Pearson%20Correlation%20Coefficient%20II/Solution.txt) | +| Tutorials | 10 Days of Statistics | 9 | [Multiple Linear Regression](https://www.hackerrank.com/challenges/s10-multiple-linear-regression) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/10%20Days%20of%20Statistics/Day%209%20-%20Multiple%20Linear%20Regression/Solution.java) | ## 30 Days of Code -| Domain | Subdomain | Day | Challenge | Difficulty | Solution | -|:---------:|:---------------:|:---:|:-------------------------------------------------------------------------------------------------------:|:------------:|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------:| -| Tutorials | 30 Days of Code | 0 | [Hello, World](https://www.hackerrank.com/challenges/30-hello-world) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2000%20-%20Hello%2C%20World/Solution.java) | -| Tutorials | 30 Days of Code | 1 | [Data Types](https://www.hackerrank.com/challenges/30-data-types) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2001%20-%20Data%20Types/Solution.java) | -| Tutorials | 30 Days of Code | 2 | [Operators](https://www.hackerrank.com/challenges/30-operators) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2002%20-%20Operators/Solution.java) | -| Tutorials | 30 Days of Code | 3 | [Intro to Conditional Statements](https://www.hackerrank.com/challenges/30-conditional-statements) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2003%20-%20Intro%20to%20Conditional%20Statements/Solution.java) | -| Tutorials | 30 Days of Code | 4 | [Class vs. Instance](https://www.hackerrank.com/challenges/30-class-vs-instance) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2004%20-%20Class%20vs.%20Instance/Solution.java) | -| Tutorials | 30 Days of Code | 5 | [Loops](https://www.hackerrank.com/challenges/30-loops) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2005%20-%20Loops/Solution.java) | -| Tutorials | 30 Days of Code | 6 | [Let's Review](https://www.hackerrank.com/challenges/30-review-loop) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2006%20-%20Let's%20Review/Solution.java) | -| Tutorials | 30 Days of Code | 7 | [Arrays](https://www.hackerrank.com/challenges/30-arrays) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2007%20-%20Arrays/Solution.java) | -| Tutorials | 30 Days of Code | 8 | [Dictionaries and Maps](https://www.hackerrank.com/challenges/30-dictionaries-and-maps) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2008%20-%20Dictionaries%20and%20Maps/Solution.java) | -| Tutorials | 30 Days of Code | 9 | [Recursion](https://www.hackerrank.com/challenges/30-recursion) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2009%20-%20Recursion/Solution.java) | -| Tutorials | 30 Days of Code | 10 | [Binary Numbers](https://www.hackerrank.com/challenges/30-binary-numbers) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2010%20-%20Binary%20Numbers/Solution.java) | -| Tutorials | 30 Days of Code | 11 | [2D Arrays](https://www.hackerrank.com/challenges/30-2d-arrays) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2011%20-%202D%20Arrays/Solution.java) | -| Tutorials | 30 Days of Code | 12 | [Inheritance](https://www.hackerrank.com/challenges/30-inheritance) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2012%20-%20Inheritance/Solution.java) | -| Tutorials | 30 Days of Code | 13 | [Abstract Classes](https://www.hackerrank.com/challenges/30-abstract-classes) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2013%20-%20Abstract%20Classes/Solution.java) | -| Tutorials | 30 Days of Code | 14 | [Scope](https://www.hackerrank.com/challenges/30-scope) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2014%20-%20Scope/Solution.java) | -| Tutorials | 30 Days of Code | 15 | [Linked List](https://www.hackerrank.com/challenges/30-linked-list) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2015%20-%20Linked%20List/Solution.java) | -| Tutorials | 30 Days of Code | 16 | [Exceptions - String to Integer](https://www.hackerrank.com/challenges/30-exceptions-string-to-integer) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2016%20-%20Exceptions%20-%20String%20to%20Integer/Solution.java) | -| Tutorials | 30 Days of Code | 17 | [More Exceptions](https://www.hackerrank.com/challenges/30-more-exceptions) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2017%20-%20More%20Exceptions/Solution.java) | -| Tutorials | 30 Days of Code | 18 | [Queues and Stacks](https://www.hackerrank.com/challenges/30-queues-stacks) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2018%20-%20Queues%20and%20Stacks/Solution.java) | -| Tutorials | 30 Days of Code | 19 | [Interfaces](https://www.hackerrank.com/challenges/30-interfaces) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2019%20-%20Interfaces/Solution.java) | -| Tutorials | 30 Days of Code | 20 | [Sorting](https://www.hackerrank.com/challenges/30-sorting) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2020%20-%20Sorting/Solution.java) | -| Tutorials | 30 Days of Code | 21 | [Generics](https://www.hackerrank.com/challenges/30-generics) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2021%20-%20Generics/Solution.java) | -| Tutorials | 30 Days of Code | 22 | [Binary Search Trees](https://www.hackerrank.com/challenges/30-binary-search-trees) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2022%20-%20Binary%20Search%20Trees/Solution.java) | +| Domain | Subdomain | Day | Challenge | Difficulty | Solution | +|:---------:|:---------------:|:---:|:-------------------------------------------------------------------------------------------------------:|:----------:|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------:| +| Tutorials | 30 Days of Code | 0 | [Hello, World](https://www.hackerrank.com/challenges/30-hello-world) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2000%20-%20Hello%2C%20World/Solution.java) | +| Tutorials | 30 Days of Code | 1 | [Data Types](https://www.hackerrank.com/challenges/30-data-types) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2001%20-%20Data%20Types/Solution.java) | +| Tutorials | 30 Days of Code | 2 | [Operators](https://www.hackerrank.com/challenges/30-operators) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2002%20-%20Operators/Solution.java) | +| Tutorials | 30 Days of Code | 3 | [Intro to Conditional Statements](https://www.hackerrank.com/challenges/30-conditional-statements) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2003%20-%20Intro%20to%20Conditional%20Statements/Solution.java) | +| Tutorials | 30 Days of Code | 4 | [Class vs. Instance](https://www.hackerrank.com/challenges/30-class-vs-instance) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2004%20-%20Class%20vs.%20Instance/Solution.java) | +| Tutorials | 30 Days of Code | 5 | [Loops](https://www.hackerrank.com/challenges/30-loops) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2005%20-%20Loops/Solution.java) | +| Tutorials | 30 Days of Code | 6 | [Let's Review](https://www.hackerrank.com/challenges/30-review-loop) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2006%20-%20Let's%20Review/Solution.java) | +| Tutorials | 30 Days of Code | 7 | [Arrays](https://www.hackerrank.com/challenges/30-arrays) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2007%20-%20Arrays/Solution.java) | +| Tutorials | 30 Days of Code | 8 | [Dictionaries and Maps](https://www.hackerrank.com/challenges/30-dictionaries-and-maps) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2008%20-%20Dictionaries%20and%20Maps/Solution.java) | +| Tutorials | 30 Days of Code | 9 | [Recursion](https://www.hackerrank.com/challenges/30-recursion) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2009%20-%20Recursion/Solution.java) | +| Tutorials | 30 Days of Code | 10 | [Binary Numbers](https://www.hackerrank.com/challenges/30-binary-numbers) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2010%20-%20Binary%20Numbers/Solution.java) | +| Tutorials | 30 Days of Code | 11 | [2D Arrays](https://www.hackerrank.com/challenges/30-2d-arrays) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2011%20-%202D%20Arrays/Solution.java) | +| Tutorials | 30 Days of Code | 12 | [Inheritance](https://www.hackerrank.com/challenges/30-inheritance) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2012%20-%20Inheritance/Solution.java) | +| Tutorials | 30 Days of Code | 13 | [Abstract Classes](https://www.hackerrank.com/challenges/30-abstract-classes) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2013%20-%20Abstract%20Classes/Solution.java) | +| Tutorials | 30 Days of Code | 14 | [Scope](https://www.hackerrank.com/challenges/30-scope) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2014%20-%20Scope/Solution.java) | +| Tutorials | 30 Days of Code | 15 | [Linked List](https://www.hackerrank.com/challenges/30-linked-list) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2015%20-%20Linked%20List/Solution.java) | +| Tutorials | 30 Days of Code | 16 | [Exceptions - String to Integer](https://www.hackerrank.com/challenges/30-exceptions-string-to-integer) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2016%20-%20Exceptions%20-%20String%20to%20Integer/Solution.java) | +| Tutorials | 30 Days of Code | 17 | [More Exceptions](https://www.hackerrank.com/challenges/30-more-exceptions) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2017%20-%20More%20Exceptions/Solution.java) | +| Tutorials | 30 Days of Code | 18 | [Queues and Stacks](https://www.hackerrank.com/challenges/30-queues-stacks) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2018%20-%20Queues%20and%20Stacks/Solution.java) | +| Tutorials | 30 Days of Code | 19 | [Interfaces](https://www.hackerrank.com/challenges/30-interfaces) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2019%20-%20Interfaces/Solution.java) | +| Tutorials | 30 Days of Code | 20 | [Sorting](https://www.hackerrank.com/challenges/30-sorting) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2020%20-%20Sorting/Solution.java) | +| Tutorials | 30 Days of Code | 21 | [Generics](https://www.hackerrank.com/challenges/30-generics) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2021%20-%20Generics/Solution.java) | +| Tutorials | 30 Days of Code | 22 | [Binary Search Trees](https://www.hackerrank.com/challenges/30-binary-search-trees) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2022%20-%20Binary%20Search%20Trees/Solution.java) | +| Tutorials | 30 Days of Code | 23 | [BST Level-Order Traversal](https://www.hackerrank.com/challenges/30-binary-trees) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2023%20-%20BST%20Level-Order%20Traversal/Solution.java) | +| Tutorials | 30 Days of Code | 24 | [More Linked Lists](https://www.hackerrank.com/challenges/30-linked-list-deletion) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2024%20-%20More%20Linked%20Lists/Solution.java) | +| Tutorials | 30 Days of Code | 25 | [Running Time and Complexity](https://www.hackerrank.com/challenges/30-running-time-and-complexity) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2025%20-%20Running%20Time%20and%20Complexity/Solution.java) | +| Tutorials | 30 Days of Code | 26 | [Nested Logic](https://www.hackerrank.com/challenges/30-nested-logic) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2026%20-%20Nested%20Logic/Solution.java) | +| Tutorials | 30 Days of Code | 27 | [Testing](https://www.hackerrank.com/challenges/30-testing) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/30%20Days%20of%20Code/Day%2027%20-%20Testing/Solution.java) | +| Tutorials | 30 Days of Code | 28 | [RegEx, Patterns, and Intro to Databases](https://www.hackerrank.com/challenges/30-regex-patterns) | Medium | Coming Soon! | +| Tutorials | 30 Days of Code | 29 | [Bitwise AND](https://www.hackerrank.com/challenges/30-bitwise-and) | Medium | Coming Soon! | ## Algorithms -| Domain | Subdomain | Challenge | Difficulty | Solution | -|:----------:|:--------------:|:----------------------------------------------------------------------------------------:|:----------:|:---------------------------------------------------------------------------------------------------------------------------------------------:| -| Algorithms | Warmup | [Solve Me First](https://www.hackerrank.com/challenges/solve-me-first) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Warmup/Solve%20Me%20First/Solution.java) | -| Algorithms | Warmup | [Simple Array Sum](https://www.hackerrank.com/challenges/simple-array-sum) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Warmup/Simple%20Array%20Sum/Solution.java) | -| Algorithms | Warmup | [Compare the Triplets](https://www.hackerrank.com/challenges/compare-the-triplets) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Warmup/Compare%20the%20Triplets/Solution.java) | -| Algorithms | Warmup | [A Very Big Sum](https://www.hackerrank.com/challenges/a-very-big-sum) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Warmup/A%20Very%20Big%20Sum/Solution.java) | -| Algorithms | Warmup | [Diagonal Difference](https://www.hackerrank.com/challenges/diagonal-difference) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Warmup/Diagonal%20Difference/Solution.java) | -| Algorithms | Warmup | [Plus Minus](https://www.hackerrank.com/challenges/plus-minus) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Warmup/Plus%20Minus/Solution.java) | -| Algorithms | Warmup | [Staircase](https://www.hackerrank.com/challenges/staircase) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Warmup/Staircase/Solution.java) | -| Algorithms | Warmup | [Time Conversion](https://www.hackerrank.com/challenges/time-conversion) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Warmup/Time%20Conversion/Solution.java) | -| Algorithms | Warmup | [Circular Array Rotation](https://www.hackerrank.com/challenges/circular-array-rotation) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Warmup/Circular%20Array%20Rotation/Solution.java) | -| Algorithms | Implementation | [Mini-max Sum](https://www.hackerrank.com/challenges/mini-max-sum) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Implementation/Mini-Max%20Sum/Solution.java) | +| Domain | Subdomain | Challenge | Difficulty | Solution | +|:----------:|:-----------------------:|:-----------------------------------------------------------------------------------------------------------------------------------:|:----------:|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------:| +| Algorithms | Warmup | [Solve Me First](https://www.hackerrank.com/challenges/solve-me-first) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Warmup/Solve%20Me%20First/Solution.java) | +| Algorithms | Warmup | [Simple Array Sum](https://www.hackerrank.com/challenges/simple-array-sum) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Warmup/Simple%20Array%20Sum/Solution.java) | +| Algorithms | Warmup | [Compare the Triplets](https://www.hackerrank.com/challenges/compare-the-triplets) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Warmup/Compare%20the%20Triplets/Solution.java) | +| Algorithms | Warmup | [A Very Big Sum](https://www.hackerrank.com/challenges/a-very-big-sum) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Warmup/A%20Very%20Big%20Sum/Solution.java) | +| Algorithms | Warmup | [Diagonal Difference](https://www.hackerrank.com/challenges/diagonal-difference) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Warmup/Diagonal%20Difference/Solution.java) | +| Algorithms | Warmup | [Plus Minus](https://www.hackerrank.com/challenges/plus-minus) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Warmup/Plus%20Minus/Solution.java) | +| Algorithms | Warmup | [Staircase](https://www.hackerrank.com/challenges/staircase) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Warmup/Staircase/Solution.java) | +| Algorithms | Warmup | [Mini-max Sum](https://www.hackerrank.com/challenges/mini-max-sum) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Warmup/Mini-Max%20Sum/Solution.java) | +| Algorithms | Warmup | [Time Conversion](https://www.hackerrank.com/challenges/time-conversion) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Warmup/Time%20Conversion/Solution.java) | +| Algorithms | Implementation | [Grading Students](https://www.hackerrank.com/challenges/grading) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Implementation/Grading%20Students/Solution.java) | +| Algorithms | Implementation | [Designer PDF Viewer](https://www.hackerrank.com/challenges/designer-pdf-viewer) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Implementation/Designer%20PDF%20Viewer/Solution.java) | +| Algorithms | Implementation | [Apple and Orange](https://www.hackerrank.com/challenges/apple-and-orange) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Implementation/Apple%20and%20Orange/Solution.java) | +| Algorithms | Implementation | [Kangaroo](https://www.hackerrank.com/challenges/kangaroo) | Easy | Coming Soon! | +| Algorithms | Implementation | [Between Two Sets](https://www.hackerrank.com/challenges/between-two-sets) | Easy | Coming Soon! | +| Algorithms | Implementation | [Divisible Sum Pairs](https://www.hackerrank.com/challenges/divisible-sum-pairs) | Easy | Coming Soon! | +| Algorithms | Implementation | [Bon Appetit](https://www.hackerrank.com/challenges/bon-appetit) | Easy | Coming Soon! | +| Algorithms | Implementation | [Sock Merchant](https://www.hackerrank.com/challenges/sock-merchant) | Easy | Coming Soon! | +| Algorithms | Implementation | [Utopian Tree](https://www.hackerrank.com/challenges/utopian-tree) | Easy | Coming Soon! | +| Algorithms | Implementation | [Angry Professor](https://www.hackerrank.com/challenges/angry-professor) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Implementation/Angry%20Professor/Solution.java) | +| Algorithms | Implementation | [Beautiful Days at the Movies](https://www.hackerrank.com/challenges/beautiful-days-at-the-movies) | Easy | Coming Soon! | +| Algorithms | Implementation | [Viral Advertising](https://www.hackerrank.com/challenges/strange-advertising) | Easy | Coming Soon! | +| Algorithms | Implementation | [Save the Prisoner!](https://www.hackerrank.com/challenges/save-the-prisoner) | Easy | Coming Soon! | +| Algorithms | Implementation | [Circular Array Rotation](https://www.hackerrank.com/challenges/circular-array-rotation) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Implementation/Circular%20Array%20Rotation/Solution.java) | +| Algorithms | Implementation | [Jumping on the Clouds - Revisited](https://www.hackerrank.com/challenges/jumping-on-the-clouds-revisited) | Easy | Coming Soon! | +| Algorithms | Implementation | [Find Digits](https://www.hackerrank.com/challenges/find-digits) | Easy | Coming Soon! | +| Algorithms | Implementation | [Extra Long Factorials](https://www.hackerrank.com/challenges/extra-long-factorials) | Medium | Coming Soon! | +| Algorithms | Implementation | [Append and Delete](https://www.hackerrank.com/challenges/append-and-delete) | Easy | Coming Soon! | +| Algorithms | Implementation | [Sherlock and Squares](https://www.hackerrank.com/challenges/sherlock-and-squares) | Easy | Coming Soon! | +| Algorithms | Implementation | [Library Fine](https://www.hackerrank.com/challenges/library-fine) | Easy | Coming Soon! | +| Algorithms | Implementation | [Cut the sticks](https://www.hackerrank.com/challenges/cut-the-sticks) | Easy | Coming Soon! | +| Algorithms | Implementation | [Non-Divisible Subset](https://www.hackerrank.com/challenges/non-divisible-subset) | Medium | Coming Soon! | +| Algorithms | Implementation | [Repeated String](https://www.hackerrank.com/challenges/repeated-string) | Easy | Coming Soon! | +| Algorithms | Implementation | [Jumping on the Clouds](https://www.hackerrank.com/challenges/jumping-on-the-clouds) | Easy | Coming Soon! | +| Algorithms | Implementation | [Equalize the Array](https://www.hackerrank.com/challenges/equality-in-a-array) | Easy | Coming Soon! | +| Algorithms | Implementation | [ACM ICPC Team](https://www.hackerrank.com/challenges/acm-icpc-team) | Easy | Coming Soon! | +| Algorithms | Implementation | [Taum and B'day](https://www.hackerrank.com/challenges/taum-and-bday) | Easy | Coming Soon! | +| Algorithms | Implementation | [Encryption](https://www.hackerrank.com/challenges/encryption) | Medium | Coming Soon! | +| Algorithms | Implementation | [Bigger is Greater](https://www.hackerrank.com/challenges/bigger-is-greater) | Medium | Coming Soon! | +| Algorithms | Implementation | [Modified Kaprekar Numbers](https://www.hackerrank.com/challenges/kaprekar-numbers) | Easy | Coming Soon! | +| Algorithms | Implementation | [Beautiful Triplets](https://www.hackerrank.com/challenges/beautiful-triplets) | Easy | Coming Soon! | +| Algorithms | Implementation | [Manasa and Stones](https://www.hackerrank.com/challenges/manasa-and-stones) | Easy | Coming Soon! | +| Algorithms | Implementation | [Minimum Distances](https://www.hackerrank.com/challenges/minimum-distances) | Easy | Coming Soon! | +| Algorithms | Implementation | [The Time in Words](https://www.hackerrank.com/challenges/the-time-in-words) | Medium | Coming Soon! | +| Algorithms | Implementation | [Cavity Map](https://www.hackerrank.com/challenges/cavity-map) | Easy | Coming Soon! | +| Algorithms | Implementation | [Chocolate Feast](https://www.hackerrank.com/challenges/chocolate-feast) | Easy | Coming Soon! | +| Algorithms | Implementation | [Service Lane](https://www.hackerrank.com/challenges/service-lane) | Easy | Coming Soon! | +| Algorithms | Implementation | [Lisa's Workbook](https://www.hackerrank.com/challenges/lisa-workbook) | Easy | Coming Soon! | +| Algorithms | Implementation | [The Grid Search](https://www.hackerrank.com/challenges/the-grid-search) | Medium | Coming Soon! | +| Algorithms | Implementation | [Flatland Space Stations](https://www.hackerrank.com/challenges/flatland-space-stations) | Easy | Coming Soon! | +| Algorithms | Implementation | [Fair Rations](https://www.hackerrank.com/challenges/fair-rations) | Easy | Coming Soon! | +| Algorithms | Implementation | [Happy Ladybugs](https://www.hackerrank.com/challenges/happy-ladybugs) | Easy | Coming Soon! | +| Algorithms | Implementation | [Strange Counter](https://www.hackerrank.com/challenges/strange-code) | Easy | Coming Soon! | +| Algorithms | Implementation | [Almost Sorted](https://www.hackerrank.com/challenges/almost-sorted) | Medium | Coming Soon! | +| Algorithms | Implementation | [Absolute Permutation](https://www.hackerrank.com/challenges/absolute-permutation) | Medium | Coming Soon! | +| Algorithms | Implementation | [The Bomberman Game](https://www.hackerrank.com/challenges/bomber-man) | Medium | Coming Soon! | +| Algorithms | Implementation | [Ema's Supercomputer](https://www.hackerrank.com/challenges/two-pluses) | Medium | Coming Soon! | +| Algorithms | Implementation | [Larry's Array](https://www.hackerrank.com/challenges/larrys-array) | Medium | Coming Soon! | +| Algorithms | Implementation | [Matrix Layer Rotation](https://www.hackerrank.com/challenges/matrix-rotation-algo) | Hard | Coming Soon! | +| Algorithms | Strings | [Super Reduced String](https://www.hackerrank.com/challenges/reduced-string) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Strings/Super%20Reduced%20String/Solution.java) | +| Algorithms | Strings | [CamelCase](https://www.hackerrank.com/challenges/camelcase) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Strings/CamelCase/Solution.java) | +| Algorithms | Strings | [Two Characters](https://www.hackerrank.com/challenges/two-characters) | Easy | Coming Soon! | +| Algorithms | Strings | [Pangrams](https://www.hackerrank.com/challenges/pangrams) | Easy | Coming Soon! | +| Algorithms | Strings | [Caesar Cipher](https://www.hackerrank.com/challenges/caesar-cipher-1) | Easy | Coming Soon! | +| Algorithms | Strings | [Mars Exploration](https://www.hackerrank.com/challenges/mars-exploration) | Easy | Coming Soon! | +| Algorithms | Strings | [Funny String](https://www.hackerrank.com/challenges/funny-string) | Easy | Coming Soon! | +| Algorithms | Strings | [Gemstones](https://www.hackerrank.com/challenges/gem-stones) | Easy | Coming Soon! | +| Algorithms | Strings | [Alternating Characters](https://www.hackerrank.com/challenges/alternating-characters) | Easy | Coming Soon! | +| Algorithms | Strings | [Beautiful Binary String](https://www.hackerrank.com/challenges/beautiful-binary-string) | Easy | Coming Soon! | +| Algorithms | Strings | [The Love-Letter Mystery](https://www.hackerrank.com/challenges/the-love-letter-mystery) | Easy | Coming Soon! | +| Algorithms | Strings | [Palindrome Index](https://www.hackerrank.com/challenges/palindrome-index) | Easy | Coming Soon! | +| Algorithms | Strings | [Anagram](https://www.hackerrank.com/challenges/anagram) | Easy | Coming Soon! | +| Algorithms | Strings | [Making Anagrams](https://www.hackerrank.com/challenges/making-anagrams) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Strings/Making%20Anagrams/Solution.java) | +| Algorithms | Strings | [Game of Thrones - I](https://www.hackerrank.com/challenges/game-of-thrones) | Easy | Coming Soon! | +| Algorithms | Strings | [Two Strings](https://www.hackerrank.com/challenges/two-strings) | Easy | Coming Soon! | +| Algorithms | Strings | [String Construction](https://www.hackerrank.com/challenges/string-construction) | Easy | Coming Soon! | +| Algorithms | Strings | [Sherlock and Valid String](https://www.hackerrank.com/challenges/sherlock-and-valid-string) | Hard | Coming Soon! | +| Algorithms | Strings | [Richie Rich](https://www.hackerrank.com/challenges/richie-rich) | Medium | Coming Soon! | +| Algorithms | Strings | [Sherlock and Anagrams](https://www.hackerrank.com/challenges/sherlock-and-anagrams) | Medium | Coming Soon! | +| Algorithms | Strings | [Common Child](https://www.hackerrank.com/challenges/common-child) | Hard | Coming Soon! | +| Algorithms | Strings | [Bear and Steady Gene](https://www.hackerrank.com/challenges/bear-and-steady-gene) | Medium | Coming Soon! | +| Algorithms | Strings | [Morgan and a String](https://www.hackerrank.com/challenges/morgan-and-a-string) | Expert | Coming Soon! | +| Algorithms | Strings | [Count Strings](https://www.hackerrank.com/challenges/count-strings) | Hard | Coming Soon! | +| Algorithms | Strings | [String Function Calculation](https://www.hackerrank.com/challenges/string-function-calculation) | Advanced | Coming Soon! | +| Algorithms | Strings | [Build a Palindrome](https://www.hackerrank.com/challenges/challenging-palindromes) | Advanced | Coming Soon! | +| Algorithms | Strings | [Build a String](https://www.hackerrank.com/challenges/build-a-string) | Hard | Coming Soon! | +| Algorithms | Strings | [Gridland Provinces](https://www.hackerrank.com/challenges/gridland-provinces) | Hard | Coming Soon! | +| Algorithms | Strings | [Ashton and String](https://www.hackerrank.com/challenges/ashton-and-string) | Advanced | Coming Soon! | +| Algorithms | Strings | [String Similarity](https://www.hackerrank.com/challenges/string-similarity) | Expert | Coming Soon! | +| Algorithms | Strings | [Super Functional Strings](https://www.hackerrank.com/challenges/super-functional-strings) | Advanced | Coming Soon! | +| Algorithms | Strings | [Circular Palindromes](https://www.hackerrank.com/challenges/circular-palindromes) | Advanced | Coming Soon! | +| Algorithms | Strings | [Similar Strings](https://www.hackerrank.com/challenges/similar-strings) | Advanced | Coming Soon! | +| Algorithms | Strings | [Save Humanity](https://www.hackerrank.com/challenges/save-humanity) | Expert | Coming Soon! | +| Algorithms | Strings | [Find Strings](https://www.hackerrank.com/challenges/find-strings) | Expert | Coming Soon! | +| Algorithms | Strings | [Palindromic Border](https://www.hackerrank.com/challenges/palindromic-border) | Expert | Coming Soon! | +| Algorithms | Strings | [Two Two](https://www.hackerrank.com/challenges/two-two) | Advanced | Coming Soon! | +| Algorithms | Strings | [Two Strings Game](https://www.hackerrank.com/challenges/two-strings-game) | Expert | Coming Soon! | +| Algorithms | Strings | [Letter Islands](https://www.hackerrank.com/challenges/letter-islands) | Expert | Coming Soon! | +| Algorithms | Strings | [Pseudo-Isomorphic Substrings](https://www.hackerrank.com/challenges/pseudo-isomorphic-substrings) | Expert | Coming Soon! | +| Algorithms | Sorting | [Intro to Tutorial Challenges](https://www.hackerrank.com/challenges/tutorial-intro) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Sorting/Intro%20to%20Tutorial%20Challenges/Solution.java) | +| Algorithms | Sorting | [Insertion Sort - Part 1](https://www.hackerrank.com/challenges/insertionsort1) | Easy | Coming Soon! | +| Algorithms | Sorting | [Insertion Sort - Part 2](https://www.hackerrank.com/challenges/insertionsort2) | Easy | Coming Soon! | +| Algorithms | Sorting | [Correctness and the Loop Invariant](https://www.hackerrank.com/challenges/correctness-invariant) | Easy | Coming Soon! | +| Algorithms | Sorting | [Running Time of Algorithms](https://www.hackerrank.com/challenges/runningtime) | Easy | Coming Soon! | +| Algorithms | Sorting | [Quicksort 1 - Partition](https://www.hackerrank.com/challenges/quicksort1) | Easy | Coming Soon! | +| Algorithms | Sorting | [Quicksort 2 - Sorting](https://www.hackerrank.com/challenges/quicksort2) | Easy | Coming Soon! | +| Algorithms | Sorting | [Quicksort In-Place](https://www.hackerrank.com/challenges/quicksort3) | Medium | Coming Soon! | +| Algorithms | Sorting | [Running Time of Quicksort](https://www.hackerrank.com/challenges/quicksort4) | Easy | Coming Soon! | +| Algorithms | Sorting | [Counting Sort 1](https://www.hackerrank.com/challenges/countingsort1) | Easy | Coming Soon! | +| Algorithms | Sorting | [Counting Sort 2](https://www.hackerrank.com/challenges/countingsort2) | Easy | Coming Soon! | +| Algorithms | Sorting | [Counting Sort 3](https://www.hackerrank.com/challenges/countingsort3) | Easy | Coming Soon! | +| Algorithms | Sorting | [The Full Counting Sort](https://www.hackerrank.com/challenges/countingsort4) | Medium | Coming Soon! | +| Algorithms | Sorting | [Closest Numbers](https://www.hackerrank.com/challenges/closest-numbers) | Easy | Coming Soon! | +| Algorithms | Sorting | [Find the Median](https://www.hackerrank.com/challenges/find-the-median) | Easy | Coming Soon! | +| Algorithms | Sorting | [Insertion Sort Advanced Analysis](https://www.hackerrank.com/challenges/insertion-sort) | Advanced | Coming Soon! | +| Algorithms | Sorting | [Fraudulent Activity Notifications](https://www.hackerrank.com/challenges/fraudulent-activity-notifications) | Medium | Coming Soon! | +| Algorithms | Sorting | [Lily's Homework](https://www.hackerrank.com/challenges/lilys-homework) | Medium | Coming Soon! | +| Algorithms | Search | [Hackerland Radio Transmitters](https://www.hackerrank.com/challenges/hackerland-radio-transmitters) | Easy | Coming Soon! | +| Algorithms | Search | [Ice Cream Parlor](https://www.hackerrank.com/challenges/icecream-parlor) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Search/Ice%20Cream%20Parlor/Solution.java) | +| Algorithms | Search | [Gridland Metro](https://www.hackerrank.com/challenges/gridland-metro) | Medium | Coming Soon! | +| Algorithms | Search | [Missing Numbers](https://www.hackerrank.com/challenges/missing-numbers) | Easy | Coming Soon! | +| Algorithms | Search | [Pairs](https://www.hackerrank.com/challenges/pairs) | Medium | Coming Soon! | +| Algorithms | Search | [Sherlock and Array](https://www.hackerrank.com/challenges/sherlock-and-array) | Easy | Coming Soon! | +| Algorithms | Search | [Maximum Subarray Sum](https://www.hackerrank.com/challenges/maximum-subarray-sum) | Hard | Coming Soon! | +| Algorithms | Search | [Connected Cells in a Grid](https://www.hackerrank.com/challenges/connected-cell-in-a-grid) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Search/Connected%20Cells%20in%20a%20Grid/Solution.java) | +| Algorithms | Search | [Short Palindrome](https://www.hackerrank.com/challenges/short-palindrome) | Medium | Coming Soon! | +| Algorithms | Search | [Count Luck](https://www.hackerrank.com/challenges/count-luck) | Medium | Coming Soon! | +| Algorithms | Search | [Cut the Tree](https://www.hackerrank.com/challenges/cut-the-tree) | Medium | Coming Soon! | +| Algorithms | Search | [Making Candies](https://www.hackerrank.com/challenges/making-candies) | Hard | Coming Soon! | +| Algorithms | Search | [Gene Playing Hanoi](https://www.hackerrank.com/challenges/gena) | Medium | Coming Soon! | +| Algorithms | Search | [Beautiful Quadruples](https://www.hackerrank.com/challenges/xor-quadruples) | Medium | Coming Soon! | +| Algorithms | Search | [Bike Racers](https://www.hackerrank.com/challenges/bike-racers) | Hard | Coming Soon! | +| Algorithms | Search | [Task Scheduling](https://www.hackerrank.com/challenges/task-scheduling) | Advanced | Coming Soon! | +| Algorithms | Search | [Similar Pair](https://www.hackerrank.com/challenges/similarpair) | Advanced | Coming Soon! | +| Algorithms | Search | [Absolute Element Sums](https://www.hackerrank.com/challenges/playing-with-numbers) | Hard | Coming Soon! | +| Algorithms | Search | [Sorted Subsegments](https://www.hackerrank.com/challenges/sorted-subsegments) | Hard | Coming Soon! | +| Algorithms | Search | [King Richard's Knights](https://www.hackerrank.com/challenges/king-richards-knights) | Hard | Coming Soon! | +| Algorithms | Graph Theory | [Journey to the Moon](https://www.hackerrank.com/challenges/journey-to-the-moon) | Medium | Coming Soon! | +| Algorithms | Graph Theory | [Synchronous Shopping](https://www.hackerrank.com/challenges/synchronous-shopping) | Medium | Coming Soon! | +| Algorithms | Graph Theory | [Subset Component](https://www.hackerrank.com/challenges/subset-component) | Hard | Coming Soon! | +| Algorithms | Graph Theory | [Breadth First Search - Shortest Reach](https://www.hackerrank.com/challenges/bfsshortreach) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Graph%20Theory/Breadth%20First%20Search%20-%20Shortest%20Reach/Solution.java) | +| Algorithms | Graph Theory | [Kruskal (MST) - Really Special Subtree](https://www.hackerrank.com/challenges/kruskalmstrsub) | Hard | Coming Soon! | +| Algorithms | Graph Theory | [Even Tree](https://www.hackerrank.com/challenges/even-tree) | Medium | Coming Soon! | +| Algorithms | Graph Theory | [Snakes and Ladders - The Quickest Way Up](https://www.hackerrank.com/challenges/the-quickest-way-up) | Medium | Coming Soon! | +| Algorithms | Graph Theory | [Dijkstra - Shortest Reach 2](https://www.hackerrank.com/challenges/dijkstrashortreach) | Hard | Coming Soon! | +| Algorithms | Graph Theory | [Prim's (MST) - Special Subtree](https://www.hackerrank.com/challenges/primsmstsub) | Medium | Coming Soon! | +| Algorithms | Graph Theory | [Clique](https://www.hackerrank.com/challenges/clique) | Medium | Coming Soon! | +| Algorithms | Graph Theory | [Minimum Penalty Path](https://www.hackerrank.com/challenges/beautiful-path) | Medium | Coming Soon! | +| Algorithms | Graph Theory | [Demanding Money](https://www.hackerrank.com/challenges/borrowing-money) | Hard | Coming Soon! | +| Algorithms | Graph Theory | [Jack goes to Rapture](https://www.hackerrank.com/challenges/jack-goes-to-rapture) | Medium | Coming Soon! | +| Algorithms | Graph Theory | [Crab Graphs](https://www.hackerrank.com/challenges/crab-graphs) | Medium | Coming Soon! | +| Algorithms | Graph Theory | [Bead Ornaments](https://www.hackerrank.com/challenges/beadornaments) | Advanced | Coming Soon! | +| Algorithms | Graph Theory | [Jeanie's Route](https://www.hackerrank.com/challenges/jeanies-route) | Medium | Coming Soon! | +| Algorithms | Graph Theory | [Floyd - City of Blinding Lights](https://www.hackerrank.com/challenges/floyd-city-of-blinding-lights) | Hard | Coming Soon! | +| Algorithms | Graph Theory | [Roads in HackerLand](https://www.hackerrank.com/challenges/johnland) | Medium | Coming Soon! | +| Algorithms | Graph Theory | [Kingdom Connectivity](https://www.hackerrank.com/challenges/kingdom-connectivity) | Hard | Coming Soon! | +| Algorithms | Graph Theory | [Computer Game](https://www.hackerrank.com/challenges/computer-game) | Hard | Coming Soon! | +| Algorithms | Graph Theory | [Rust & Murderer](https://www.hackerrank.com/challenges/rust-murderer) | Medium | Coming Soon! | +| Algorithms | Graph Theory | [Problem solving](https://www.hackerrank.com/challenges/problem-solving) | Hard | Coming Soon! | +| Algorithms | Graph Theory | [Journey Scheduling](https://www.hackerrank.com/challenges/journey-scheduling) | Hard | Coming Soon! | +| Algorithms | Graph Theory | [Matrix](https://www.hackerrank.com/challenges/matrix) | Hard | Coming Soon! | +| Algorithms | Graph Theory | [Recording Episodes](https://www.hackerrank.com/challenges/episode-recording) | Hard | Coming Soon! | +| Algorithms | Graph Theory | [Repair Roads](https://www.hackerrank.com/challenges/repair-roads) | Hard | Coming Soon! | +| Algorithms | Graph Theory | [Kth Ancestor](https://www.hackerrank.com/challenges/kth-ancestor) | Hard | Coming Soon! | +| Algorithms | Graph Theory | [ByteLandian Tours](https://www.hackerrank.com/challenges/bytelandian-tours) | Hard | Coming Soon! | +| Algorithms | Graph Theory | [Find the Path](https://www.hackerrank.com/challenges/shortest-path) | Hard | Coming Soon! | +| Algorithms | Graph Theory | [Savita And Friends](https://www.hackerrank.com/challenges/savita-and-friends) | Hard | Coming Soon! | +| Algorithms | Graph Theory | [Liars](https://www.hackerrank.com/challenges/liars) | Advanced | Coming Soon! | +| Algorithms | Graph Theory | [Jumping Rooks](https://www.hackerrank.com/challenges/jumping-rooks) | Advanced | Coming Soon! | +| Algorithms | Graph Theory | [Tripartite Matching](https://www.hackerrank.com/challenges/tripartite-matching) | Hard | Coming Soon! | +| Algorithms | Graph Theory | [Tree Flow](https://www.hackerrank.com/challenges/tree-flow) | Hard | Coming Soon! | +| Algorithms | Graph Theory | [DAG Queries](https://www.hackerrank.com/challenges/dag-queries) | Expert | Coming Soon! | +| Algorithms | Graph Theory | [Favorite sequence](https://www.hackerrank.com/challenges/favourite-sequence) | Advanced | Coming Soon! | +| Algorithms | Graph Theory | [Jogging Cats](https://www.hackerrank.com/challenges/cat-jogging) | Advanced | Coming Soon! | +| Algorithms | Graph Theory | [Quadrant Queries](https://www.hackerrank.com/challenges/quadrant-queries) | Advanced | Coming Soon! | +| Algorithms | Graph Theory | [Hacker Country](https://www.hackerrank.com/challenges/hacker-country) | Hard | Coming Soon! | +| Algorithms | Graph Theory | [HackerX](https://www.hackerrank.com/challenges/missile-defend) | Hard | Coming Soon! | +| Algorithms | Graph Theory | [Huarongdao](https://www.hackerrank.com/challenges/huarongdao) | Expert | Coming Soon! | +| Algorithms | Graph Theory | [Training the army](https://www.hackerrank.com/challenges/training-the-army) | Hard | Coming Soon! | +| Algorithms | Graph Theory | [Jim and his LAN Party](https://www.hackerrank.com/challenges/jim-and-his-lan-party) | Hard | Coming Soon! | +| Algorithms | Graph Theory | [Travel in HackerLand](https://www.hackerrank.com/challenges/travel-in-hackerland) | Hard | Coming Soon! | +| Algorithms | Graph Theory | [Alex vs Fedor](https://www.hackerrank.com/challenges/alex-vs-fedor) | Expert | Coming Soon! | +| Algorithms | Graph Theory | [Vertical Paths](https://www.hackerrank.com/challenges/vertical-paths) | Expert | Coming Soon! | +| Algorithms | Graph Theory | [Drive](https://www.hackerrank.com/challenges/drive) | Expert | Coming Soon! | +| Algorithms | Graph Theory | [Travelling Salesman in a Grid](https://www.hackerrank.com/challenges/tsp-grid) | Expert | Coming Soon! | +| Algorithms | Graph Theory | [Road Network](https://www.hackerrank.com/challenges/road-network) | Expert | Coming Soon! | +| Algorithms | Graph Theory | [Going to the Office](https://www.hackerrank.com/challenges/going-office) | Expert | Coming Soon! | +| Algorithms | Graph Theory | [Tree Splitting](https://www.hackerrank.com/challenges/tree-splitting) | Advanced | Coming Soon! | +| Algorithms | Graph Theory | [Ticket](https://www.hackerrank.com/challenges/ticket) | Expert | Coming Soon! | +| Algorithms | Greedy | [Grid Challenge](https://www.hackerrank.com/challenges/grid-challenge) | Easy | Coming Soon! | +| Algorithms | Greedy | [Luck Balance](https://www.hackerrank.com/challenges/luck-balance) | Easy | Coming Soon! | +| Algorithms | Greedy | [Maximum Perimeter Triangle](https://www.hackerrank.com/challenges/maximum-perimeter-triangle) | Easy | Coming Soon! | +| Algorithms | Greedy | [Beautiful Pairs](https://www.hackerrank.com/challenges/beautiful-pairs) | Easy | Coming Soon! | +| Algorithms | Greedy | [Sherlock and The Beast](https://www.hackerrank.com/challenges/sherlock-and-the-beast) | Easy | Coming Soon! | +| Algorithms | Greedy | [Priyanka and Toys](https://www.hackerrank.com/challenges/priyanka-and-toys) | Easy | Coming Soon! | +| Algorithms | Greedy | [Largest Permutation](https://www.hackerrank.com/challenges/largest-permutation) | Easy | Coming Soon! | +| Algorithms | Greedy | [Mark and Toys](https://www.hackerrank.com/challenges/mark-and-toys) | Easy | Coming Soon! | +| Algorithms | Greedy | [Greedy Florist](https://www.hackerrank.com/challenges/greedy-florist) | Medium | Coming Soon! | +| Algorithms | Greedy | [Max Min](https://www.hackerrank.com/challenges/angry-children) | Medium | Coming Soon! | +| Algorithms | Greedy | [Jim and the Orders](https://www.hackerrank.com/challenges/jim-and-the-orders) | Easy | Coming Soon! | +| Algorithms | Greedy | [Permuting Two Arrays](https://www.hackerrank.com/challenges/two-arrays) | Easy | Coming Soon! | +| Algorithms | Greedy | [Cutting Boards](https://www.hackerrank.com/challenges/board-cutting) | Hard | Coming Soon! | +| Algorithms | Greedy | [Reverse Shuffle Merge](https://www.hackerrank.com/challenges/reverse-shuffle-merge) | Advanced | Coming Soon! | +| Algorithms | Greedy | [Goodland Electricity](https://www.hackerrank.com/challenges/pylons) | Medium | Coming Soon! | +| Algorithms | Greedy | [Chief Hopper](https://www.hackerrank.com/challenges/chief-hopper) | Hard | Coming Soon! | +| Algorithms | Greedy | [Sherlock and MiniMax](https://www.hackerrank.com/challenges/sherlock-and-minimax) | Hard | Coming Soon! | +| Algorithms | Greedy | [Accessory Collection](https://www.hackerrank.com/challenges/accessory-collection) | Hard | Coming Soon! | +| Algorithms | Greedy | [Team Formation](https://www.hackerrank.com/challenges/team-formation) | Advanced | Coming Soon! | +| Algorithms | Greedy | [Fighting Pits](https://www.hackerrank.com/challenges/fighting-pits) | Hard | Coming Soon! | +| Algorithms | Dynamic Programming | [The Coin Change Problem](https://www.hackerrank.com/challenges/coin-change) | Hard | Coming Soon! | +| Algorithms | Dynamic Programming | [Equal](https://www.hackerrank.com/challenges/equal) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Sherlock and Cost](https://www.hackerrank.com/challenges/sherlock-and-cost) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Vertical Sticks](https://www.hackerrank.com/challenges/vertical-sticks) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Candies](https://www.hackerrank.com/challenges/candies) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Angry Children 2](https://www.hackerrank.com/challenges/angry-children-2) | Hard | Coming Soon! | +| Algorithms | Dynamic Programming | [Sam and sub-strings](https://www.hackerrank.com/challenges/sam-and-substrings) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Fibonacci Modified](https://www.hackerrank.com/challenges/fibonacci-modified) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Abbreviation](https://www.hackerrank.com/challenges/abbr) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [The Maximum Subarray](https://www.hackerrank.com/challenges/maxsubarray) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Fair Cut](https://www.hackerrank.com/challenges/fair-cut) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [HackerRank City](https://www.hackerrank.com/challenges/hr-city) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Summing Pieces](https://www.hackerrank.com/challenges/summing-pieces) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Mr K marsh](https://www.hackerrank.com/challenges/mr-k-marsh) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Substring Diff](https://www.hackerrank.com/challenges/substring-diff) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Xor and Sum](https://www.hackerrank.com/challenges/xor-and-sum) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Lego Blocks](https://www.hackerrank.com/challenges/lego-blocks) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Brick Tiling](https://www.hackerrank.com/challenges/brick-tiling) | Hard | Coming Soon! | +| Algorithms | Dynamic Programming | [Alien Languages](https://www.hackerrank.com/challenges/alien-languages) | Hard | Coming Soon! | +| Algorithms | Dynamic Programming | [Stock Maximize](https://www.hackerrank.com/challenges/stockmax) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Two Robots](https://www.hackerrank.com/challenges/two-robots) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Cut Tree](https://www.hackerrank.com/challenges/cuttree) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Wet Shark and Two Subsequences](https://www.hackerrank.com/challenges/wet-shark-and-two-subsequences) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Nikita and the Game](https://www.hackerrank.com/challenges/array-splitting) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Mandragora Forest](https://www.hackerrank.com/challenges/mandragora) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Red John is Back](https://www.hackerrank.com/challenges/red-john-is-back) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [LCS Returns](https://www.hackerrank.com/challenges/tutzki-and-lcs) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Grid Walking](https://www.hackerrank.com/challenges/grid-walking) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Knapsack](https://www.hackerrank.com/challenges/unbounded-knapsack) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Bricks Game](https://www.hackerrank.com/challenges/play-game) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [The Longest Increasing Subsequence](https://www.hackerrank.com/challenges/longest-increasing-subsequent) | Advanced | Coming Soon! | +| Algorithms | Dynamic Programming | [Coin on the Table](https://www.hackerrank.com/challenges/coin-on-the-table) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [The Longest Common Subsequence](https://www.hackerrank.com/challenges/dynamic-programming-classics-the-longest-common-subsequence) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Play with words](https://www.hackerrank.com/challenges/strplay) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Black and White Tree](https://www.hackerrank.com/challenges/black-n-white-tree-1) | Hard | Coming Soon! | +| Algorithms | Dynamic Programming | [Counting Special Sub-Cubes](https://www.hackerrank.com/challenges/counting-special-sub-cubes) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Interval Selection](https://www.hackerrank.com/challenges/interval-selection) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [String Reduction](https://www.hackerrank.com/challenges/string-reduction) | Hard | Coming Soon! | +| Algorithms | Dynamic Programming | [Far Vertices](https://www.hackerrank.com/challenges/far-vertices) | Hard | Coming Soon! | +| Algorithms | Dynamic Programming | [Superman Celebrates Diwali](https://www.hackerrank.com/challenges/superman-celebrates-diwali) | Hard | Coming Soon! | +| Algorithms | Dynamic Programming | [Hexagonal Grid](https://www.hackerrank.com/challenges/hexagonal-grid) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Queens on Board](https://www.hackerrank.com/challenges/queens-on-board) | Hard | Coming Soon! | +| Algorithms | Dynamic Programming | [Shashank and the Palindromic Strings](https://www.hackerrank.com/challenges/shashank-and-palindromic-strings) | Advanced | Coming Soon! | +| Algorithms | Dynamic Programming | [Points in a Plane](https://www.hackerrank.com/challenges/points-in-a-plane) | Advanced | Coming Soon! | +| Algorithms | Dynamic Programming | [The Indian Job](https://www.hackerrank.com/challenges/the-indian-job) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Requirement](https://www.hackerrank.com/challenges/requirement) | Advanced | Coming Soon! | +| Algorithms | Dynamic Programming | [A Super Hero](https://www.hackerrank.com/challenges/a-super-hero) | Hard | Coming Soon! | +| Algorithms | Dynamic Programming | [Clues on a Binary Path](https://www.hackerrank.com/challenges/clues-on-a-binary-path) | Hard | Coming Soon! | +| Algorithms | Dynamic Programming | [Road Maintenance](https://www.hackerrank.com/challenges/road-maintenance) | Hard | Coming Soon! | +| Algorithms | Dynamic Programming | [Billboards](https://www.hackerrank.com/challenges/billboards) | Advanced | Coming Soon! | +| Algorithms | Dynamic Programming | [Beautiful Strings](https://www.hackerrank.com/challenges/beautiful-string) | Hard | Coming Soon! | +| Algorithms | Dynamic Programming | [Covering the stains](https://www.hackerrank.com/challenges/covering-the-stains) | Hard | Coming Soon! | +| Algorithms | Dynamic Programming | [Fairy Chess](https://www.hackerrank.com/challenges/fairy-chess) | Advanced | Coming Soon! | +| Algorithms | Dynamic Programming | [Travel around the world](https://www.hackerrank.com/challenges/travel-around-the-world) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [New Year Present](https://www.hackerrank.com/challenges/newyear-present) | Hard | Coming Soon! | +| Algorithms | Dynamic Programming | [Longest Palindromic Subsequence](https://www.hackerrank.com/challenges/longest-palindromic-subsequence) | Hard | Coming Soon! | +| Algorithms | Dynamic Programming | [Candles Counting](https://www.hackerrank.com/challenges/candles-2) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Hyper Strings](https://www.hackerrank.com/challenges/hyper-strings) | Advanced | Coming Soon! | +| Algorithms | Dynamic Programming | [Swap Permutation](https://www.hackerrank.com/challenges/swappermutation) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Extremum Permutations](https://www.hackerrank.com/challenges/extremum-permutations) | Medium | Coming Soon! | +| Algorithms | Dynamic Programming | [Square Subsequences](https://www.hackerrank.com/challenges/square-subsequences) | Hard | Coming Soon! | +| Algorithms | Dynamic Programming | [Dorsey Thief](https://www.hackerrank.com/challenges/dorsey-thief) | Advanced | Coming Soon! | +| Algorithms | Dynamic Programming | [Mining](https://www.hackerrank.com/challenges/mining) | Advanced | Coming Soon! | +| Algorithms | Dynamic Programming | [Police Operation](https://www.hackerrank.com/challenges/police-operation) | Hard | Coming Soon! | +| Algorithms | Dynamic Programming | [Zurikela's Graph](https://www.hackerrank.com/challenges/zurikela) | Hard | Coming Soon! | +| Algorithms | Dynamic Programming | [Modify The Sequence](https://www.hackerrank.com/challenges/modify-the-sequence) | Advanced | Coming Soon! | +| Algorithms | Dynamic Programming | [Longest Mod Path](https://www.hackerrank.com/challenges/longest-mod-path) | Hard | Coming Soon! | +| Algorithms | Dynamic Programming | [P-sequences](https://www.hackerrank.com/challenges/p-sequences) | Hard | Coming Soon! | +| Algorithms | Dynamic Programming | [Robot](https://www.hackerrank.com/challenges/robot) | Advanced | Coming Soon! | +| Algorithms | Dynamic Programming | [Lucky Numbers](https://www.hackerrank.com/challenges/lucky-numbers) | Expert | Coming Soon! | +| Algorithms | Dynamic Programming | [Unfair Game](https://www.hackerrank.com/challenges/unfair-game) | Advanced | Coming Soon! | +| Algorithms | Dynamic Programming | [Oil Well](https://www.hackerrank.com/challenges/oil-well) | Hard | Coming Soon! | +| Algorithms | Dynamic Programming | [Find the Seed](https://www.hackerrank.com/challenges/find-the-seed) | Advanced | Coming Soon! | +| Algorithms | Dynamic Programming | [The Blacklist](https://www.hackerrank.com/challenges/the-blacklist) | Advanced | Coming Soon! | +| Algorithms | Dynamic Programming | [Tree Pruning](https://www.hackerrank.com/challenges/tree-pruning) | Advanced | Coming Soon! | +| Algorithms | Dynamic Programming | [Ones and Twos](https://www.hackerrank.com/challenges/ones-and-twos) | Hard | Coming Soon! | +| Algorithms | Dynamic Programming | [Count Scorecards](https://www.hackerrank.com/challenges/count-scorecards) | Expert | Coming Soon! | +| Algorithms | Dynamic Programming | [Vim War](https://www.hackerrank.com/challenges/vim-war) | Advanced | Coming Soon! | +| Algorithms | Dynamic Programming | [Best spot](https://www.hackerrank.com/challenges/best-spot) | Advanced | Coming Soon! | +| Algorithms | Dynamic Programming | [Divisible Numbers](https://www.hackerrank.com/challenges/divisible-numbers) | Expert | Coming Soon! | +| Algorithms | Dynamic Programming | [Unique Divide And Conquer](https://www.hackerrank.com/challenges/unique-divide-and-conquer) | Advanced | Coming Soon! | +| Algorithms | Dynamic Programming | [King and Four Sons](https://www.hackerrank.com/challenges/happy-king) | Expert | Coming Soon! | +| Algorithms | Dynamic Programming | [Dortmund Dilemma](https://www.hackerrank.com/challenges/dortmund-dilemma) | Advanced | Coming Soon! | +| Algorithms | Dynamic Programming | [Super Kth LIS](https://www.hackerrank.com/challenges/super-kth-lis) | Advanced | Coming Soon! | +| Algorithms | Dynamic Programming | [Counting the Ways](https://www.hackerrank.com/challenges/count-ways-1) | Expert | Coming Soon! | +| Algorithms | Dynamic Programming | [Hard Disk Drives](https://www.hackerrank.com/challenges/hard-drive-disks) | Expert | Coming Soon! | +| Algorithms | Dynamic Programming | [Separate the chocolate](https://www.hackerrank.com/challenges/separate-the-chocolate) | Expert | Coming Soon! | +| Algorithms | Constructive Algorithms | [Flipping the Matrix](https://www.hackerrank.com/challenges/flipping-the-matrix) | Medium | Coming Soon! | +| Algorithms | Constructive Algorithms | [New Year Chaos](https://www.hackerrank.com/challenges/new-year-chaos) | Medium | Coming Soon! | +| Algorithms | Constructive Algorithms | [Bonetrousle](https://www.hackerrank.com/challenges/bonetrousle) | Medium | Coming Soon! | +| Algorithms | Constructive Algorithms | [Yet Another KMP Problem](https://www.hackerrank.com/challenges/kmp-problem) | Hard | Coming Soon! | +| Algorithms | Constructive Algorithms | [Beautiful 3 Set](https://www.hackerrank.com/challenges/beautiful-3-set) | Hard | Coming Soon! | +| Algorithms | Constructive Algorithms | [Inverse RMQ](https://www.hackerrank.com/challenges/inverse-rmq) | Hard | Coming Soon! | +| Algorithms | Constructive Algorithms | [Lovely Triplets](https://www.hackerrank.com/challenges/lovely-triplets) | Advanced | Coming Soon! | +| Algorithms | Constructive Algorithms | [Array Construction](https://www.hackerrank.com/challenges/array-construction) | Advanced | Coming Soon! | +| Algorithms | Bit Manipulation | [Lonely Integer](https://www.hackerrank.com/challenges/lonely-integer) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Algorithms/Bit%20Manipulation/Lonely%20Integer/Solution.java) | +| Algorithms | Bit Manipulation | [Maximizing XOR](https://www.hackerrank.com/challenges/maximizing-xor) | Easy | Coming Soon! | +| Algorithms | Bit Manipulation | [Counter game](https://www.hackerrank.com/challenges/counter-game) | Medium | Coming Soon! | +| Algorithms | Bit Manipulation | [Xor-sequence](https://www.hackerrank.com/challenges/xor-se) | Medium | Coming Soon! | +| Algorithms | Bit Manipulation | [Sum vs XOR](https://www.hackerrank.com/challenges/sum-vs-xor) | Easy | Coming Soon! | +| Algorithms | Bit Manipulation | [Flipping bits](https://www.hackerrank.com/challenges/flipping-bits) | Easy | Coming Soon! | +| Algorithms | Bit Manipulation | [Yet Another Minimax Problem](https://www.hackerrank.com/challenges/yet-another-minimax-problem) | Medium | Coming Soon! | +| Algorithms | Bit Manipulation | [Sansa and XOR](https://www.hackerrank.com/challenges/sansa-and-xor) | Medium | Coming Soon! | +| Algorithms | Bit Manipulation | [AND Product](https://www.hackerrank.com/challenges/and-product) | Medium | Coming Soon! | +| Algorithms | Bit Manipulation | [Xoring Ninja](https://www.hackerrank.com/challenges/xoring-ninja) | Hard | Coming Soon! | +| Algorithms | Bit Manipulation | [Cipher](https://www.hackerrank.com/challenges/cipher) | Medium | Coming Soon! | +| Algorithms | Bit Manipulation | [XOR Matrix](https://www.hackerrank.com/challenges/xor-matrix) | Hard | Coming Soon! | +| Algorithms | Bit Manipulation | [What's Next](https://www.hackerrank.com/challenges/whats-next) | Medium | Coming Soon! | +| Algorithms | Bit Manipulation | [String Transmission](https://www.hackerrank.com/challenges/string-transmission) | Hard | Coming Soon! | +| Algorithms | Bit Manipulation | [A or B](https://www.hackerrank.com/challenges/aorb) | Medium | Coming Soon! | +| Algorithms | Bit Manipulation | [Manipulative Numbers](https://www.hackerrank.com/challenges/manipulative-numbers) | Hard | Coming Soon! | +| Algorithms | Bit Manipulation | [Stone game](https://www.hackerrank.com/challenges/stonegame) | Hard | Coming Soon! | +| Algorithms | Bit Manipulation | [2's complement](https://www.hackerrank.com/challenges/2s-complement) | Advanced | Coming Soon! | +| Algorithms | Bit Manipulation | [Changing Bits](https://www.hackerrank.com/challenges/changing-bits) | Advanced | Coming Soon! | +| Algorithms | Bit Manipulation | [XOR key](https://www.hackerrank.com/challenges/xor-key) | Advanced | Coming Soon! | +| Algorithms | Bit Manipulation | [Maximizing the Function](https://www.hackerrank.com/challenges/maximizing-the-function) | Hard | Coming Soon! | +| Algorithms | Bit Manipulation | [XOR Subsequences](https://www.hackerrank.com/challenges/xor-subsequence) | Advanced | Coming Soon! | +| Algorithms | Bit Manipulation | [Iterate It](https://www.hackerrank.com/challenges/iterate-it) | Expert | Coming Soon! | +| Algorithms | Bit Manipulation | [Hamming Distance](https://www.hackerrank.com/challenges/hamming-distance) | Expert | Coming Soon! | +| Algorithms | Bit Manipulation | [Mixing proteins](https://www.hackerrank.com/challenges/pmix) | Hard | Coming Soon! | +| Algorithms | Recursion | [Simplified Chess Engine](https://www.hackerrank.com/challenges/simplified-chess-engine) | Medium | Coming Soon! | +| Algorithms | Recursion | [Repetitive K-Sums](https://www.hackerrank.com/challenges/repeat-k-sums) | Advanced | Coming Soon! | +| Algorithms | Game Theory | [Game of Stones](https://www.hackerrank.com/challenges/game-of-stones-1) | Easy | Coming Soon! | +| Algorithms | Game Theory | [Tower Breakers](https://www.hackerrank.com/challenges/tower-breakers-1) | Easy | Coming Soon! | +| Algorithms | Game Theory | [A Chessboard Game](https://www.hackerrank.com/challenges/a-chessboard-game-1) | Easy | Coming Soon! | +| Algorithms | Game Theory | [Introduction to Nim Game](https://www.hackerrank.com/challenges/nim-game-1) | Easy | Coming Soon! | +| Algorithms | Game Theory | [Misčre Nim](https://www.hackerrank.com/challenges/misere-nim-1) | Easy | Coming Soon! | +| Algorithms | Game Theory | [Nimble Game](https://www.hackerrank.com/challenges/nimble-game-1) | Easy | Coming Soon! | +| Algorithms | Game Theory | [Poker Nim](https://www.hackerrank.com/challenges/poker-nim-1) | Easy | Coming Soon! | +| Algorithms | Game Theory | [Tower Breakers, Revisited!](https://www.hackerrank.com/challenges/tower-breakers-revisited-1) | Medium | Coming Soon! | +| Algorithms | Game Theory | [Tower Breakers, Again!](https://www.hackerrank.com/challenges/tower-breakers-again-1) | Medium | Coming Soon! | +| Algorithms | Game Theory | [Chessboard Game, Again!](https://www.hackerrank.com/challenges/chessboard-game-again-1) | Medium | Coming Soon! | +| Algorithms | Game Theory | [Digits Square Board](https://www.hackerrank.com/challenges/digits-square-board-1) | Medium | Coming Soon! | +| Algorithms | Game Theory | [Fun Game](https://www.hackerrank.com/challenges/fun-game-1) | Medium | Coming Soon! | +| Algorithms | Game Theory | [Stone Division](https://www.hackerrank.com/challenges/stone-division) | Hard | Coming Soon! | +| Algorithms | Game Theory | [Chocolate in Box](https://www.hackerrank.com/challenges/chocolate-in-box) | Medium | Coming Soon! | +| Algorithms | Game Theory | [Kitty and Katty](https://www.hackerrank.com/challenges/kitty-and-katty) | Medium | Coming Soon! | +| Algorithms | Game Theory | [Powers Game](https://www.hackerrank.com/challenges/powers-game-1) | Medium | Coming Soon! | +| Algorithms | Game Theory | [Deforestation](https://www.hackerrank.com/challenges/deforestation-1) | Medium | Coming Soon! | +| Algorithms | Game Theory | [Bob and Ben](https://www.hackerrank.com/challenges/bob-and-ben) | Medium | Coming Soon! | +| Algorithms | Game Theory | [Tower Breakers - The Final Battle](https://www.hackerrank.com/challenges/tower-breakers-the-final-battle-1) | Medium | Coming Soon! | +| Algorithms | Game Theory | [Simple Game](https://www.hackerrank.com/challenges/simple-game) | Hard | Coming Soon! | +| Algorithms | Game Theory | [Permutation game](https://www.hackerrank.com/challenges/permutation-game) | Medium | Coming Soon! | +| Algorithms | Game Theory | [Move the Coins](https://www.hackerrank.com/challenges/move-the-coins) | Hard | Coming Soon! | +| Algorithms | Game Theory | [Play on benders](https://www.hackerrank.com/challenges/benders-play) | Medium | Coming Soon! | +| Algorithms | Game Theory | [New Year Game](https://www.hackerrank.com/challenges/newyear-game) | Medium | Coming Soon! | +| Algorithms | Game Theory | [Stone Piles](https://www.hackerrank.com/challenges/stone-piles) | Hard | Coming Soon! | +| Algorithms | Game Theory | [Chocolate Game](https://www.hackerrank.com/challenges/chocolate-game) | Hard | Coming Soon! | +| Algorithms | Game Theory | [Manasa and Prime game](https://www.hackerrank.com/challenges/manasa-and-prime-game) | Hard | Coming Soon! | +| Algorithms | Game Theory | [Vertical Rooks](https://www.hackerrank.com/challenges/vertical-rooks) | Medium | Coming Soon! | +| Algorithms | Game Theory | [A stones game](https://www.hackerrank.com/challenges/half) | Medium | Coming Soon! | +| Algorithms | NP Complete | [Walking the Approximate Longest Path](https://www.hackerrank.com/challenges/walking-the-approximate-longest-path) | Hard | Coming Soon! | +| Algorithms | NP Complete | [Spies, Revisited](https://www.hackerrank.com/challenges/spies-revised) | Expert | Coming Soon! | +| Algorithms | NP Complete | [TBS Problem](https://www.hackerrank.com/challenges/tbsp) | Expert | Coming Soon! | ## Cracking the Coding Interview | Domain | Subdomain | Topic | Challenge | Difficulty | Solution | |:---------:|:-----------------------------:|:---------------------:|:--------------------------------------------------------------------------------------------------------:|:----------:|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:| -| Tutorials | Cracking the Coding Interview | Data Structures | [Arrays: Left Rotation](https://www.hackerrank.com/challenges/ctci-array-left-rotation) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Data%20Structures/Arrays%20-%20Left%20Rotation/Solution.java) | -| Tutorials | Cracking the Coding Interview | Data Structures | [Strings: Making Anagrams](https://www.hackerrank.com/challenges/ctci-making-anagrams) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Data%20Structures/Strings%20-%20Making%20Anagrams/Solution.java) | -| Tutorials | Cracking the Coding Interview | Data Structures | [Hash Tables: Ransom Note](https://www.hackerrank.com/challenges/ctci-ransom-note) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Data%20Structures/Hash%20Tables%20-%20Ransom%20Note/Solution.java) | -| Tutorials | Cracking the Coding Interview | Data Structures | [Linked Lists: Detect a Cycle](https://www.hackerrank.com/challenges/ctci-linked-list-cycle) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Data%20Structures/Linked%20Lists%20-%20Detect%20a%20Cycle/Solution.java) | -| Tutorials | Cracking the Coding Interview | Data Structures | [Stacks: Balanced Brackets](https://www.hackerrank.com/challenges/ctci-balanced-brackets) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Data%20Structures/Stacks%20-%20Balanced%20Brackets/Solution.java) | -| Tutorials | Cracking the Coding Interview | Data Structures | [Queues: A Tale of Two Stacks](https://www.hackerrank.com/challenges/ctci-queue-using-two-stacks) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Data%20Structures/Queue%20-%20A%20Tale%20of%20Two%20Stacks/Solution.java) | +| Tutorials | Cracking the Coding Interview | Data Structures | [Arrays: Left Rotation](https://www.hackerrank.com/challenges/ctci-array-left-rotation) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Data%20Structures/Arrays%20-%20Left%20Rotation/Solution.java) | +| Tutorials | Cracking the Coding Interview | Data Structures | [Strings: Making Anagrams](https://www.hackerrank.com/challenges/ctci-making-anagrams) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Data%20Structures/Strings%20-%20Making%20Anagrams/Solution.java) | +| Tutorials | Cracking the Coding Interview | Data Structures | [Hash Tables: Ransom Note](https://www.hackerrank.com/challenges/ctci-ransom-note) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Data%20Structures/Hash%20Tables%20-%20Ransom%20Note/Solution.java) | +| Tutorials | Cracking the Coding Interview | Data Structures | [Linked Lists: Detect a Cycle](https://www.hackerrank.com/challenges/ctci-linked-list-cycle) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Data%20Structures/Linked%20Lists%20-%20Detect%20a%20Cycle/Solution.java) | +| Tutorials | Cracking the Coding Interview | Data Structures | [Stacks: Balanced Brackets](https://www.hackerrank.com/challenges/ctci-balanced-brackets) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Data%20Structures/Stacks%20-%20Balanced%20Brackets/Solution.java) | +| Tutorials | Cracking the Coding Interview | Data Structures | [Queues: A Tale of Two Stacks](https://www.hackerrank.com/challenges/ctci-queue-using-two-stacks) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Data%20Structures/Queue%20-%20A%20Tale%20of%20Two%20Stacks/Solution.java) | | Tutorials | Cracking the Coding Interview | Data Structures | [Trees: Is This a Binary Search Tree?](https://www.hackerrank.com/challenges/ctci-is-binary-search-tree) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Data%20Structures/Trees%20-%20Is%20This%20a%20Binary%20Search%20Tree/Solution.java) | -| Tutorials | Cracking the Coding Interview | Data Structures | [Heaps: Find the Running Median](https://www.hackerrank.com/challenges/ctci-find-the-running-median) | Hard | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Data%20Structures/Heaps%20-%20Find%20the%20Running%20Median/Solution.java) | -| Tutorials | Cracking the Coding Interview | Data Structures | [Tries: Contacts](https://www.hackerrank.com/challenges/ctci-contacts) | Hard | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Data%20Structures/Tries%20-%20Contacts/Solution.java) | -| Tutorials | Cracking the Coding Interview | Algorithms | [Sorting: Bubble Sort](https://www.hackerrank.com/challenges/ctci-bubble-sort) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Algorithms/Sorting%20-%20Bubble%20Sort/Solution.java) | -| Tutorials | Cracking the Coding Interview | Algorithms | [Sorting: Comparator](https://www.hackerrank.com/challenges/ctci-comparator-sorting) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Algorithms/Sorting%20-%20Comparator/Solution.java) | -| Tutorials | Cracking the Coding Interview | Algorithms | [Merge Sort: Counting Inversions](https://www.hackerrank.com/challenges/ctci-merge-sort) | Hard | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Algorithms/Merge%20Sort%20-%20Counting%20Inversions/Solution.java) | -| Tutorials | Cracking the Coding Interview | Algorithms | [Binary Search: Ice Cream Parlor](https://www.hackerrank.com/challenges/ctci-ice-cream-parlor) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Algorithms/Binary%20Search%20-%20Ice%20Cream%20Parlor/Solution.java) | -| Tutorials | Cracking the Coding Interview | Algorithms | [DFS: Connected Cell in a Grid](https://www.hackerrank.com/challenges/ctci-connected-cell-in-a-grid) | Hard | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Algorithms/DFS%20-%20Connected%20Cell%20in%20a%20Grid/Solution.java) | -| Tutorials | Cracking the Coding Interview | Algorithms | [BFS: Shortest Reach in a Graph](https://www.hackerrank.com/challenges/ctci-bfs-shortest-reach) | Hard | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Algorithms/BFS%20-%20Shortest%20Reach%20in%20a%20Graph/Solution.java) | -| Tutorials | Cracking the Coding Interview | Techniques / Concepts | [Time Complexity: Primality](https://www.hackerrank.com/challenges/ctci-big-o) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Techniques%2C%20Concepts/Time%20Complexity%20-%20Primality/Solution.java) | -| Tutorials | Cracking the Coding Interview | Techniques / Concepts | [Recrusion: Fibonacci Numbers](https://www.hackerrank.com/challenges/ctci-fibonacci-numbers) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Techniques%2C%20Concepts/Recursion%20-%20Fibonacci%20Numbers/Solution.java) | -| Tutorials | Cracking the Coding Interview | Techniques / Concepts | [Recursion: Davis' Staircase](https://www.hackerrank.com/challenges/ctci-recursive-staircase) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Techniques%2C%20Concepts/Recursion%20-%20Davis'%20Staircase/Solution.java) | -| Tutorials | Cracking the Coding Interview | Techniques / Concepts | [DP: Coin Change](https://www.hackerrank.com/challenges/ctci-coin-change) | Hard | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Techniques%2C%20Concepts/DP%20-%20Coin%20Change/Solution.java) | -| Tutorials | Cracking the Coding Interview | Techniques / Concepts | [Bit Manipulation: Lonely Integer](https://www.hackerrank.com/challenges/ctci-lonely-integer) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Techniques%2C%20Concepts/Bit%20Manipulation%20-%20Lonely%20Integer/Solution.java) | +| Tutorials | Cracking the Coding Interview | Data Structures | [Heaps: Find the Running Median](https://www.hackerrank.com/challenges/ctci-find-the-running-median) | Hard | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Data%20Structures/Heaps%20-%20Find%20the%20Running%20Median/Solution.java) | +| Tutorials | Cracking the Coding Interview | Data Structures | [Tries: Contacts](https://www.hackerrank.com/challenges/ctci-contacts) | Hard | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Data%20Structures/Tries%20-%20Contacts/Solution.java) | +| Tutorials | Cracking the Coding Interview | Algorithms | [Sorting: Bubble Sort](https://www.hackerrank.com/challenges/ctci-bubble-sort) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Algorithms/Sorting%20-%20Bubble%20Sort/Solution.java) | +| Tutorials | Cracking the Coding Interview | Algorithms | [Sorting: Comparator](https://www.hackerrank.com/challenges/ctci-comparator-sorting) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Algorithms/Sorting%20-%20Comparator/Solution.java) | +| Tutorials | Cracking the Coding Interview | Algorithms | [Merge Sort: Counting Inversions](https://www.hackerrank.com/challenges/ctci-merge-sort) | Hard | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Algorithms/Merge%20Sort%20-%20Counting%20Inversions/Solution.java) | +| Tutorials | Cracking the Coding Interview | Algorithms | [Binary Search: Ice Cream Parlor](https://www.hackerrank.com/challenges/ctci-ice-cream-parlor) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Algorithms/Binary%20Search%20-%20Ice%20Cream%20Parlor/Solution.java) | +| Tutorials | Cracking the Coding Interview | Algorithms | [DFS: Connected Cell in a Grid](https://www.hackerrank.com/challenges/ctci-connected-cell-in-a-grid) | Hard | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Algorithms/DFS%20-%20Connected%20Cell%20in%20a%20Grid/Solution.java) | +| Tutorials | Cracking the Coding Interview | Algorithms | [BFS: Shortest Reach in a Graph](https://www.hackerrank.com/challenges/ctci-bfs-shortest-reach) | Hard | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Algorithms/BFS%20-%20Shortest%20Reach%20in%20a%20Graph/Solution.java) | +| Tutorials | Cracking the Coding Interview | Techniques / Concepts | [Time Complexity: Primality](https://www.hackerrank.com/challenges/ctci-big-o) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Techniques%2C%20Concepts/Time%20Complexity%20-%20Primality/Solution.java) | +| Tutorials | Cracking the Coding Interview | Techniques / Concepts | [Recrusion: Fibonacci Numbers](https://www.hackerrank.com/challenges/ctci-fibonacci-numbers) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Techniques%2C%20Concepts/Recursion%20-%20Fibonacci%20Numbers/Solution.java) | +| Tutorials | Cracking the Coding Interview | Techniques / Concepts | [Recursion: Davis' Staircase](https://www.hackerrank.com/challenges/ctci-recursive-staircase) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Techniques%2C%20Concepts/Recursion%20-%20Davis'%20Staircase/Solution.java) | +| Tutorials | Cracking the Coding Interview | Techniques / Concepts | [DP: Coin Change](https://www.hackerrank.com/challenges/ctci-coin-change) | Hard | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Techniques%2C%20Concepts/DP%20-%20Coin%20Change/Solution.java) | +| Tutorials | Cracking the Coding Interview | Techniques / Concepts | [Bit Manipulation: Lonely Integer](https://www.hackerrank.com/challenges/ctci-lonely-integer) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Cracking%20the%20Coding%20Interview/Techniques%2C%20Concepts/Bit%20Manipulation%20-%20Lonely%20Integer/Solution.java) | ## Data Structures | Domain | Subdomain | Challenge | Difficulty | Solution | |:---------------:|:---------------:|:------------------------------------------------------------------------------------------------------------------------------------------------------:|:---------------:|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:| -| Data Structures | Arrays | [Arrays - DS](https://www.hackerrank.com/challenges/arrays-ds) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Arrays/Arrays%20-%20DS/Solution.java) | -| Data Structures | Arrays | [2D Array - DS](https://www.hackerrank.com/challenges/2d-array) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Arrays/2D%20Array%20-%20DS/Solution.java) | -| Data Structures | Arrays | [Dynamic Array](https://www.hackerrank.com/challenges/dynamic-array) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Arrays/Dynamic%20Array/Solution.java) | -| Data Structures | Arrays | [Left Rotation](https://www.hackerrank.com/challenges/array-left-rotation) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Arrays/Left%20Rotation/Solution.java) | -| Data Structures | Arrays | [Sparse Arrays](https://www.hackerrank.com/challenges/sparse-arrays) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Arrays/Sparse%20Arrays/Solution.java) | -| Data Structures | Arrays | [Algorithmic Crush](https://www.hackerrank.com/challenges/crush) | Hard | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Arrays/Algorithmic%20Crush/Solution.java) | -| Data Structures | Linked List | [Print the Elements of a Linked List](https://www.hackerrank.com/challenges/print-the-elements-of-a-linked-list) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Linked%20Lists/Print%20the%20Elements%20of%20a%20Linked%20List/Solution.java) | -| Data Structures | Linked List | [Insert a Node at the Tail of a Linked List](https://www.hackerrank.com/challenges/insert-a-node-at-the-tail-of-a-linked-list) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Linked%20Lists/Insert%20a%20Node%20at%20the%20Tail%20of%20a%20Linked%20List/Solution.java) | -| Data Structures | Linked List | [Insert a node at the head of a linked list](https://www.hackerrank.com/challenges/insert-a-node-at-the-head-of-a-linked-list) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Linked%20Lists/Insert%20a%20node%20at%20the%20head%20of%20a%20linked%20list/Solution.java) | +| Data Structures | Arrays | [Arrays - DS](https://www.hackerrank.com/challenges/arrays-ds) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Arrays/Arrays%20-%20DS/Solution.java) | +| Data Structures | Arrays | [2D Array - DS](https://www.hackerrank.com/challenges/2d-array) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Arrays/2D%20Array%20-%20DS/Solution.java) | +| Data Structures | Arrays | [Dynamic Array](https://www.hackerrank.com/challenges/dynamic-array) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Arrays/Dynamic%20Array/Solution.java) | +| Data Structures | Arrays | [Left Rotation](https://www.hackerrank.com/challenges/array-left-rotation) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Arrays/Left%20Rotation/Solution.java) | +| Data Structures | Arrays | [Sparse Arrays](https://www.hackerrank.com/challenges/sparse-arrays) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Arrays/Sparse%20Arrays/Solution.java) | +| Data Structures | Arrays | [Algorithmic Crush](https://www.hackerrank.com/challenges/crush) | Hard | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Arrays/Algorithmic%20Crush/Solution.java) | +| Data Structures | Linked List | [Print the Elements of a Linked List](https://www.hackerrank.com/challenges/print-the-elements-of-a-linked-list) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Linked%20Lists/Print%20the%20Elements%20of%20a%20Linked%20List/Solution.java) | +| Data Structures | Linked List | [Insert a Node at the Tail of a Linked List](https://www.hackerrank.com/challenges/insert-a-node-at-the-tail-of-a-linked-list) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Linked%20Lists/Insert%20a%20Node%20at%20the%20Tail%20of%20a%20Linked%20List/Solution.java) | +| Data Structures | Linked List | [Insert a node at the head of a linked list](https://www.hackerrank.com/challenges/insert-a-node-at-the-head-of-a-linked-list) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Linked%20Lists/Insert%20a%20node%20at%20the%20head%20of%20a%20linked%20list/Solution.java) | | Data Structures | Linked List | [Insert a node at a specific position in a linked list](https://www.hackerrank.com/challenges/insert-a-node-at-a-specific-position-in-a-linked-list) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Linked%20Lists/Insert%20a%20node%20at%20a%20specific%20position%20in%20a%20linked%20list/Solution.java) | -| Data Structures | Linked List | [Delete a Node](https://www.hackerrank.com/challenges/delete-a-node-from-a-linked-list) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Linked%20Lists/Delete%20a%20Node/Solution.java) | -| Data Structures | Linked List | [Print in Reverse](https://www.hackerrank.com/challenges/print-the-elements-of-a-linked-list-in-reverse) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Linked%20Lists/Print%20in%20Reverse/Solution.java) | -| Data Structures | Linked List | [Reverse a linked list](https://www.hackerrank.com/challenges/reverse-a-linked-list) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Linked%20Lists/Reverse%20a%20linked%20list/Solution.java) | -| Data Structures | Linked List | [Compare two linked lists](https://www.hackerrank.com/challenges/compare-two-linked-lists) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Linked%20Lists/Compare%20two%20linked%20lists/Solution.java) | -| Data Structures | Linked List | [Merge two sorted linked lists](https://www.hackerrank.com/challenges/merge-two-sorted-linked-lists) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Linked%20Lists/Merge%20two%20sorted%20linked%20lists/Solution.java) | -| Data Structures | Linked List | [Get Node Value](https://www.hackerrank.com/challenges/get-the-value-of-the-node-at-a-specific-position-from-the-tail) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Linked%20Lists/Get%20Node%20Value/Solution.java) | -| Data Structures | Linked List | [Delete duplicate-value nodes from a sorted linked list](https://www.hackerrank.com/challenges/delete-duplicate-value-nodes-from-a-sorted-linked-list) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Linked%20Lists/Delete%20duplicate-value%20nodes%20from%20a%20sorted%20linked%20list/Solution.java) | -| Data Structures | Linked List | [Cycle Detection](https://www.hackerrank.com/challenges/detect-whether-a-linked-list-contains-a-cycle) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Linked%20Lists/Cycle%20Detection/Solution.java) | -| Data Structures | Linked List | [Find Merge Point of Two Lists](https://www.hackerrank.com/challenges/find-the-merge-point-of-two-joined-linked-lists) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Linked%20Lists/Find%20Merge%20Point%20of%20Two%20Lists/Solution.java) | -| Data Structures | Linked List | [Inserting a Node Into a Sorted Doubly Linked List](https://www.hackerrank.com/challenges/insert-a-node-into-a-sorted-doubly-linked-list) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Linked%20Lists/Inserting%20a%20Node%20Into%20a%20Sorted%20Doubly%20Linked%20List/Solution.java) | -| Data Structures | Linked List | [Reverse a doubly linked list](https://www.hackerrank.com/challenges/reverse-a-doubly-linked-list) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Linked%20Lists/Reverse%20a%20doubly%20linked%20list/Solution.java) | -| Data Structures | Trees | [Tree: Preorder Traversal](https://www.hackerrank.com/challenges/tree-preorder-traversal) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Trees/Tree%20-%20Preorder%20Traversal/Solution.java) | -| Data Structures | Trees | [Tree: Postorder Traversal](https://www.hackerrank.com/challenges/tree-postorder-traversal) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Trees/Tree%20-%20Postorder%20Traversal/Solution.java) | -| Data Structures | Trees | [Tree: Inorder Traversal](https://www.hackerrank.com/challenges/tree-inorder-traversal) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Trees/Tree%20-%20Inorder%20Traversal/Solution.java) | -| Data Structures | Trees | [Tree: Height of a Binary Tree](https://www.hackerrank.com/challenges/tree-height-of-a-binary-tree) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Trees/Tree%20-%20Height%20of%20a%20Binary%20Tree/Solution.java) | -| Data Structures | Trees | [Tree: Top View](https://www.hackerrank.com/challenges/tree-top-view) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Trees/Tree%20-%20Top%20View/Solution.java) | -| Data Structures | Trees | [Tree: Level Order Traversal](https://www.hackerrank.com/challenges/tree-level-order-traversal) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Trees/Tree%20-%20Level%20Order%20Traversal/Solution.java) | -| Data Structures | Trees | [Binary Search Tree: Insertion](https://www.hackerrank.com/challenges/binary-search-tree-insertion) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Trees/Binary%20Search%20Tree%20-%20Insertion/Solution.java) | -| Data Structures | Trees | [Tree: Huffman Decoding](https://www.hackerrank.com/challenges/tree-huffman-decoding) | Medium | Coming Soon! | -| Data Structures | Trees | [Binary Search Tree: Lowest Common Ancestor](https://www.hackerrank.com/challenges/binary-search-tree-lowest-common-ancestor) | Easy | Coming Soon! | -| Data Structures | Trees | [Swap Nodes [Algo]](https://www.hackerrank.com/challenges/swap-nodes-algo) | Medium | Coming Soon! | -| Data Structures | Trees | [Is This a Binary Search Tree?](https://www.hackerrank.com/challenges/is-binary-search-tree) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Trees/Is%20This%20a%20Binary%20Search%20Tree/Solution.java) | -| Data Structures | Trees | [Square-Ten Tree](https://www.hackerrank.com/challenges/square-ten-tree) | Hard | Coming Soon! | -| Data Structures | Trees | [Balanced Forest](https://www.hackerrank.com/challenges/balanced-forest) | Hard | Coming Soon! | -| Data Structures | Balanced Trees | [Self Balancing Tree](https://www.hackerrank.com/challenges/self-balancing-tree) | Medium | Coming Soon! | -| Data Structures | Balanced Trees | [Array and simple queries](https://www.hackerrank.com/challenges/array-and-simple-queries) | Hard | Coming Soon! | -| Data Structures | Balanced Trees | [Median Updates](https://www.hackerrank.com/challenges/median) | Hard | Coming Soon! | -| Data Structures | Stacks | [Maximum Element](https://www.hackerrank.com/challenges/maximum-element) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Stacks/Maximum%20Element/Solution.java) | -| Data Structures | Stacks | [Balanced Brackets](https://www.hackerrank.com/challenges/balanced-brackets) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Stacks/Balanced%20Brackets/Solution.java) | -| Data Structures | Stacks | [Largest Rectangle](https://www.hackerrank.com/challenges/largest-rectangle) | Hard | Coming Soon! | -| Data Structures | Stacks | [Simple Text Editor](https://www.hackerrank.com/challenges/simple-text-editor) | Medium | Coming Soon! | -| Data Structures | Stacks | [Equal Stacks](https://www.hackerrank.com/challenges/equal-stacks) | Easy | Coming Soon! | -| Data Structures | Stacks | [Poisonous Plants](https://www.hackerrank.com/challenges/poisonous-plants) | Hard | Coming Soon! | -| Data Structures | Stacks | [AND xor OR](https://www.hackerrank.com/challenges/and-xor-or) | Hard | Coming Soon! | -| Data Structures | Stacks | [Waiter](https://www.hackerrank.com/challenges/waiter) | Medium | Coming Soon! | -| Data Structures | Queues | [Queue using Two Stacks](https://www.hackerrank.com/challenges/queue-using-two-stacks) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Queues/Queue%20using%20Two%20Stacks/Solution.java) | -| Data Structures | Queues | [Castle on the Grid](https://www.hackerrank.com/challenges/castle-on-the-grid) | Medium | Coming Soon! | -| Data Structures | Queues | [Down to Zero II](https://www.hackerrank.com/challenges/down-to-zero-ii) | Medium | Coming Soon! | -| Data Structures | Queues | [Truck Tour](https://www.hackerrank.com/challenges/truck-tour) | Hard | Coming Soon! | -| Data Structures | Queues | [Queries with Fixed Length](https://www.hackerrank.com/challenges/queries-with-fixed-length) | Hard | Coming Soon! | -| Data Structures | Heap | [QHEAP1](https://www.hackerrank.com/challenges/qheap1) | Easy | Coming Soon! | -| Data Structures | Heap | [Jesse and Cookies](https://www.hackerrank.com/challenges/jesse-and-cookies) | Easy | Coming Soon! | -| Data Structures | Heap | [Find the Running Median](https://www.hackerrank.com/challenges/find-the-running-median) | Hard | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Heap/Find%20the%20Running%20Median/Solution.java) | -| Data Structures | Heap | [Minimum Average Waiting Time](https://www.hackerrank.com/challenges/minimum-average-waiting-time) | Hard | Coming Soon! | -| Data Structures | Disjoint Set | [Merging Communities](https://www.hackerrank.com/challenges/merging-communities) | Hard | Coming Soon! | -| Data Structures | Disjoint Set | [Components in a graph](https://www.hackerrank.com/challenges/components-in-graph) | Medium | Coming Soon! | -| Data Structures | Disjoint Set | [Kundu and Tree](https://www.hackerrank.com/challenges/kundu-and-tree) | Hard | Coming Soon! | -| Data Structures | Disjoint Set | [Super Maximum Cost Queries](https://www.hackerrank.com/challenges/maximum-cost-queries) | Hard | Coming Soon! | -| Data Structures | Multiple Choice | [Data Structures MCQ 1](https://www.hackerrank.com/challenges/how-well-do-you-know-trees) | Multiple Choice | Coming Soon! | -| Data Structures | Multiple Choice | [Data Structures MCQ 2](https://www.hackerrank.com/challenges/are-you-an-expert-on-data-structures) | Multiple Choice | Coming Soon! | -| Data Structures | Multiple Choice | [Data Structures MCQ 3](https://www.hackerrank.com/challenges/are-you-an-expert-on-data-structures-1) | Multiple Choice | Coming Soon! | -| Data Structures | Trie | [Contacts](https://www.hackerrank.com/challenges/contacts) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Trie/Contacts/Solution.java) | -| Data Structures | Trie | [No Prefix Set](https://www.hackerrank.com/challenges/no-prefix-set) | Hard | Coming Soon! | -| Data Structures | Advanced | [Kindergarten Adventures](https://www.hackerrank.com/challenges/kindergarten-adventures) | Medium | Coming Soon! | -| Data Structures | Advanced | [Cube Summation](https://www.hackerrank.com/challenges/cube-summation) | Hard | Coming Soon! | -| Data Structures | Advanced | [Mr. X and His Shots](https://www.hackerrank.com/challenges/x-and-his-shots) | Medium | Coming Soon! | -| Data Structures | Advanced | [Direct Connections](https://www.hackerrank.com/challenges/direct-connections) | Hard | Coming Soon! | -| Data Structures | Advanced | [Subsequence Weighting](https://www.hackerrank.com/challenges/subsequence-weighting) | Advanced | Coming Soon! | -| Data Structures | Advanced | [Jim and the Skyscrapers](https://www.hackerrank.com/challenges/jim-and-the-skyscrapers) | Medium | Coming Soon! | -| Data Structures | Advanced | [Counting On a Tree](https://www.hackerrank.com/challenges/counting-on-a-tree) | Expert | Coming Soon! | -| Data Structures | Advanced | [Unique Colors](https://www.hackerrank.com/challenges/unique-colors) | Advanced | Coming Soon! | -| Data Structures | Advanced | [Self-Driving Bus](https://www.hackerrank.com/challenges/self-driving-bus) | Advanced | Coming Soon! | -| Data Structures | Advanced | [Fibonacci Numbers Tree](https://www.hackerrank.com/challenges/fibonacci-numbers-tree) | Expert | Coming Soon! | -| Data Structures | Advanced | [Functional Palindromes](https://www.hackerrank.com/challenges/functional-palindromes) | Advanced | Coming Soon! | -| Data Structures | Advanced | [Lazy White Falcon](https://www.hackerrank.com/challenges/lazy-white-falcon) | Hard | Coming Soon! | -| Data Structures | Advanced | [Ticket to Ride](https://www.hackerrank.com/challenges/ticket-to-ride) | Expert | Coming Soon! | -| Data Structures | Advanced | [Heavy Light White Falcon](https://www.hackerrank.com/challenges/heavy-light-white-falcon) | Hard | Coming Soon! | -| Data Structures | Advanced | [Sum of the Maximums](https://www.hackerrank.com/challenges/little-alexey-and-sum-of-maximums) | Advanced | Coming Soon! | -| Data Structures | Advanced | [Heavy Light 2 White Falcon](https://www.hackerrank.com/challenges/heavy-light-2-white-falcon) | Hard | Coming Soon! | -| Data Structures | Advanced | [Library Query](https://www.hackerrank.com/challenges/library-query) | Advanced | Coming Soon! | -| Data Structures | Advanced | [Starfleet](https://www.hackerrank.com/challenges/starfleet) | Advanced | Coming Soon! | -| Data Structures | Advanced | [Almost Equal - Advanced](https://www.hackerrank.com/challenges/almost-equal-advanced) | Expert | Coming Soon! | -| Data Structures | Advanced | [Almost sorted interval](https://www.hackerrank.com/challenges/almost-sorted-interval) | Expert | Coming Soon! | -| Data Structures | Advanced | [Burger Happiness](https://www.hackerrank.com/challenges/burger-happiness) | Hard | Coming Soon! | -| Data Structures | Advanced | [Roy and alpha-beta trees](https://www.hackerrank.com/challenges/roy-and-alpha-beta-trees) | Hard | Coming Soon! | -| Data Structures | Advanced | [Coloring Tree](https://www.hackerrank.com/challenges/coloring-tree) | Hard | Coming Soon! | -| Data Structures | Advanced | [Recalling Early Days GP with Trees](https://www.hackerrank.com/challenges/recalling-early-days-gp-with-trees) | Hard | Coming Soon! | -| Data Structures | Advanced | [Swaps and Sum](https://www.hackerrank.com/challenges/swaps-and-sum) | Advanced | Coming Soon! | -| Data Structures | Advanced | [Arithmetic Progressions](https://www.hackerrank.com/challenges/arithmetic-progressions) | Advanced | Coming Soon! | -| Data Structures | Advanced | [Coolguy and Two Subsequences](https://www.hackerrank.com/challenges/coolguy-and-two-subsequences) | Advanced | Coming Soon! | -| Data Structures | Advanced | [White Falcon And Tree](https://www.hackerrank.com/challenges/white-falcon-and-tree) | Hard | Coming Soon! | -| Data Structures | Advanced | [Subtrees And Paths](https://www.hackerrank.com/challenges/subtrees-and-paths) | Advanced | Coming Soon! | -| Data Structures | Advanced | [Triplets](https://www.hackerrank.com/challenges/triplets) | Advanced | Coming Soon! | -| Data Structures | Advanced | [Beautiful Segments](https://www.hackerrank.com/challenges/beautiful-segments) | Expert | Coming Soon! | -| Data Structures | Advanced | [Divisibility](https://www.hackerrank.com/challenges/ab0) | Expert | Coming Soon! | -| Data Structures | Advanced | [BST maintenance](https://www.hackerrank.com/challenges/bst-maintenance) | Advanced | Coming Soon! | -| Data Structures | Advanced | [Find Maximum Index Product](https://www.hackerrank.com/challenges/find-maximum-index-product) | Medium | Coming Soon! | -| Data Structures | Advanced | [Taxicab Driver's Problem](https://www.hackerrank.com/challenges/taxicab-drivers-problem) | Advanced | Coming Soon! | -| Data Structures | Advanced | [Jaggu Playing with Balloons](https://www.hackerrank.com/challenges/jagia-playing-with-numbers) | Advanced | Coming Soon! | -| Data Structures | Advanced | [Dynamic Summation](https://www.hackerrank.com/challenges/dynamic-summation) | Hard | Coming Soon! | -| Data Structures | Advanced | [Two Array Problem](https://www.hackerrank.com/challenges/weird-queries) | Hard | Coming Soon! | -| Data Structures | Advanced | [Rooted Tree](https://www.hackerrank.com/challenges/rooted-tree) | Hard | Coming Soon! | -| Data Structures | Advanced | [The crazy helix](https://www.hackerrank.com/challenges/helix) | Advanced | Coming Soon! | -| Data Structures | Advanced | [Network administration](https://www.hackerrank.com/challenges/net-admin) | Hard | Coming Soon! | -| Data Structures | Advanced | [Easy Addition](https://www.hackerrank.com/challenges/easy-addition) | Expert | Coming Soon! | -| Data Structures | Advanced | [Find the permutation](https://www.hackerrank.com/challenges/find-the-permutation) | Expert | Coming Soon! | -| Data Structures | Advanced | [Company Retreat](https://www.hackerrank.com/challenges/company-retreat) | Advanced | Coming Soon! | +| Data Structures | Linked List | [Delete a Node](https://www.hackerrank.com/challenges/delete-a-node-from-a-linked-list) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Linked%20Lists/Delete%20a%20Node/Solution.java) | +| Data Structures | Linked List | [Print in Reverse](https://www.hackerrank.com/challenges/print-the-elements-of-a-linked-list-in-reverse) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Linked%20Lists/Print%20in%20Reverse/Solution.java) | +| Data Structures | Linked List | [Reverse a linked list](https://www.hackerrank.com/challenges/reverse-a-linked-list) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Linked%20Lists/Reverse%20a%20linked%20list/Solution.java) | +| Data Structures | Linked List | [Compare two linked lists](https://www.hackerrank.com/challenges/compare-two-linked-lists) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Linked%20Lists/Compare%20two%20linked%20lists/Solution.java) | +| Data Structures | Linked List | [Merge two sorted linked lists](https://www.hackerrank.com/challenges/merge-two-sorted-linked-lists) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Linked%20Lists/Merge%20two%20sorted%20linked%20lists/Solution.java) | +| Data Structures | Linked List | [Get Node Value](https://www.hackerrank.com/challenges/get-the-value-of-the-node-at-a-specific-position-from-the-tail) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Linked%20Lists/Get%20Node%20Value/Solution.java) | +| Data Structures | Linked List | [Delete duplicate-value nodes from a sorted linked list](https://www.hackerrank.com/challenges/delete-duplicate-value-nodes-from-a-sorted-linked-list) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Linked%20Lists/Delete%20duplicate-value%20nodes%20from%20a%20sorted%20linked%20list/Solution.java) | +| Data Structures | Linked List | [Cycle Detection](https://www.hackerrank.com/challenges/detect-whether-a-linked-list-contains-a-cycle) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Linked%20Lists/Cycle%20Detection/Solution.java) | +| Data Structures | Linked List | [Find Merge Point of Two Lists](https://www.hackerrank.com/challenges/find-the-merge-point-of-two-joined-linked-lists) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Linked%20Lists/Find%20Merge%20Point%20of%20Two%20Lists/Solution.java) | +| Data Structures | Linked List | [Inserting a Node Into a Sorted Doubly Linked List](https://www.hackerrank.com/challenges/insert-a-node-into-a-sorted-doubly-linked-list) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Linked%20Lists/Inserting%20a%20Node%20Into%20a%20Sorted%20Doubly%20Linked%20List/Solution.java) | +| Data Structures | Linked List | [Reverse a doubly linked list](https://www.hackerrank.com/challenges/reverse-a-doubly-linked-list) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Linked%20Lists/Reverse%20a%20doubly%20linked%20list/Solution.java) | +| Data Structures | Trees | [Tree: Preorder Traversal](https://www.hackerrank.com/challenges/tree-preorder-traversal) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Trees/Tree%20-%20Preorder%20Traversal/Solution.java) | +| Data Structures | Trees | [Tree: Postorder Traversal](https://www.hackerrank.com/challenges/tree-postorder-traversal) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Trees/Tree%20-%20Postorder%20Traversal/Solution.java) | +| Data Structures | Trees | [Tree: Inorder Traversal](https://www.hackerrank.com/challenges/tree-inorder-traversal) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Trees/Tree%20-%20Inorder%20Traversal/Solution.java) | +| Data Structures | Trees | [Tree: Height of a Binary Tree](https://www.hackerrank.com/challenges/tree-height-of-a-binary-tree) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Trees/Tree%20-%20Height%20of%20a%20Binary%20Tree/Solution.java) | +| Data Structures | Trees | [Tree: Top View](https://www.hackerrank.com/challenges/tree-top-view) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Trees/Tree%20-%20Top%20View/Solution.java) | +| Data Structures | Trees | [Tree: Level Order Traversal](https://www.hackerrank.com/challenges/tree-level-order-traversal) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Trees/Tree%20-%20Level%20Order%20Traversal/Solution.java) | +| Data Structures | Trees | [Binary Search Tree: Insertion](https://www.hackerrank.com/challenges/binary-search-tree-insertion) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Trees/Binary%20Search%20Tree%20-%20Insertion/Solution.java) | +| Data Structures | Trees | [Tree: Huffman Decoding](https://www.hackerrank.com/challenges/tree-huffman-decoding) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Trees/Tree%20-%20Huffman%20Decoding/Solution.java) | +| Data Structures | Trees | [Binary Search Tree: Lowest Common Ancestor](https://www.hackerrank.com/challenges/binary-search-tree-lowest-common-ancestor) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Trees/Binary%20Search%20Tree%20-%20Lowest%20Common%20Ancestor/Solution.java) | +| Data Structures | Trees | [Swap Nodes [Algo]](https://www.hackerrank.com/challenges/swap-nodes-algo) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Trees/Swap%20Nodes%20%5BAlgo%5D/Solution.java) | +| Data Structures | Trees | [Is This a Binary Search Tree?](https://www.hackerrank.com/challenges/is-binary-search-tree) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Trees/Is%20This%20a%20Binary%20Search%20Tree/Solution.java) | +| Data Structures | Trees | [Square-Ten Tree](https://www.hackerrank.com/challenges/square-ten-tree) | Hard | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Trees/Square-Ten%20Tree/Solution.java) | +| Data Structures | Trees | [Balanced Forest](https://www.hackerrank.com/challenges/balanced-forest) | Hard | Coming Soon! | +| Data Structures | Balanced Trees | [Self Balancing Tree](https://www.hackerrank.com/challenges/self-balancing-tree) | Medium | Coming Soon! | +| Data Structures | Balanced Trees | [Array and simple queries](https://www.hackerrank.com/challenges/array-and-simple-queries) | Hard | Coming Soon! | +| Data Structures | Balanced Trees | [Median Updates](https://www.hackerrank.com/challenges/median) | Hard | Coming Soon! | +| Data Structures | Stacks | [Maximum Element](https://www.hackerrank.com/challenges/maximum-element) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Stacks/Maximum%20Element/Solution.java) | +| Data Structures | Stacks | [Balanced Brackets](https://www.hackerrank.com/challenges/balanced-brackets) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Stacks/Balanced%20Brackets/Solution.java) | +| Data Structures | Stacks | [Largest Rectangle](https://www.hackerrank.com/challenges/largest-rectangle) | Hard | Coming Soon! | +| Data Structures | Stacks | [Simple Text Editor](https://www.hackerrank.com/challenges/simple-text-editor) | Medium | Coming Soon! | +| Data Structures | Stacks | [Equal Stacks](https://www.hackerrank.com/challenges/equal-stacks) | Easy | Coming Soon! | +| Data Structures | Stacks | [Poisonous Plants](https://www.hackerrank.com/challenges/poisonous-plants) | Hard | Coming Soon! | +| Data Structures | Stacks | [AND xor OR](https://www.hackerrank.com/challenges/and-xor-or) | Hard | Coming Soon! | +| Data Structures | Stacks | [Waiter](https://www.hackerrank.com/challenges/waiter) | Medium | Coming Soon! | +| Data Structures | Queues | [Queue using Two Stacks](https://www.hackerrank.com/challenges/queue-using-two-stacks) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Queues/Queue%20using%20Two%20Stacks/Solution.java) | +| Data Structures | Queues | [Castle on the Grid](https://www.hackerrank.com/challenges/castle-on-the-grid) | Medium | Coming Soon! | +| Data Structures | Queues | [Down to Zero II](https://www.hackerrank.com/challenges/down-to-zero-ii) | Medium | Coming Soon! | +| Data Structures | Queues | [Truck Tour](https://www.hackerrank.com/challenges/truck-tour) | Hard | Coming Soon! | +| Data Structures | Queues | [Queries with Fixed Length](https://www.hackerrank.com/challenges/queries-with-fixed-length) | Hard | Coming Soon! | +| Data Structures | Heap | [QHEAP1](https://www.hackerrank.com/challenges/qheap1) | Easy | Coming Soon! | +| Data Structures | Heap | [Jesse and Cookies](https://www.hackerrank.com/challenges/jesse-and-cookies) | Easy | Coming Soon! | +| Data Structures | Heap | [Find the Running Median](https://www.hackerrank.com/challenges/find-the-running-median) | Hard | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Heap/Find%20the%20Running%20Median/Solution.java) | +| Data Structures | Heap | [Minimum Average Waiting Time](https://www.hackerrank.com/challenges/minimum-average-waiting-time) | Hard | Coming Soon! | +| Data Structures | Disjoint Set | [Merging Communities](https://www.hackerrank.com/challenges/merging-communities) | Hard | Coming Soon! | +| Data Structures | Disjoint Set | [Components in a graph](https://www.hackerrank.com/challenges/components-in-graph) | Medium | Coming Soon! | +| Data Structures | Disjoint Set | [Kundu and Tree](https://www.hackerrank.com/challenges/kundu-and-tree) | Hard | Coming Soon! | +| Data Structures | Disjoint Set | [Super Maximum Cost Queries](https://www.hackerrank.com/challenges/maximum-cost-queries) | Hard | Coming Soon! | +| Data Structures | Multiple Choice | [Data Structures MCQ 1](https://www.hackerrank.com/challenges/how-well-do-you-know-trees) | Multiple Choice | Coming Soon! | +| Data Structures | Multiple Choice | [Data Structures MCQ 2](https://www.hackerrank.com/challenges/are-you-an-expert-on-data-structures) | Multiple Choice | Coming Soon! | +| Data Structures | Multiple Choice | [Data Structures MCQ 3](https://www.hackerrank.com/challenges/are-you-an-expert-on-data-structures-1) | Multiple Choice | Coming Soon! | +| Data Structures | Trie | [Contacts](https://www.hackerrank.com/challenges/contacts) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Data%20Structures/Trie/Contacts/Solution.java) | +| Data Structures | Trie | [No Prefix Set](https://www.hackerrank.com/challenges/no-prefix-set) | Hard | Coming Soon! | +| Data Structures | Advanced | [Kindergarten Adventures](https://www.hackerrank.com/challenges/kindergarten-adventures) | Medium | Coming Soon! | +| Data Structures | Advanced | [Cube Summation](https://www.hackerrank.com/challenges/cube-summation) | Hard | Coming Soon! | +| Data Structures | Advanced | [Mr. X and His Shots](https://www.hackerrank.com/challenges/x-and-his-shots) | Medium | Coming Soon! | +| Data Structures | Advanced | [Direct Connections](https://www.hackerrank.com/challenges/direct-connections) | Hard | Coming Soon! | +| Data Structures | Advanced | [Subsequence Weighting](https://www.hackerrank.com/challenges/subsequence-weighting) | Advanced | Coming Soon! | +| Data Structures | Advanced | [Jim and the Skyscrapers](https://www.hackerrank.com/challenges/jim-and-the-skyscrapers) | Medium | Coming Soon! | +| Data Structures | Advanced | [Counting On a Tree](https://www.hackerrank.com/challenges/counting-on-a-tree) | Expert | Coming Soon! | +| Data Structures | Advanced | [Unique Colors](https://www.hackerrank.com/challenges/unique-colors) | Advanced | Coming Soon! | +| Data Structures | Advanced | [Self-Driving Bus](https://www.hackerrank.com/challenges/self-driving-bus) | Advanced | Coming Soon! | +| Data Structures | Advanced | [Fibonacci Numbers Tree](https://www.hackerrank.com/challenges/fibonacci-numbers-tree) | Expert | Coming Soon! | +| Data Structures | Advanced | [Functional Palindromes](https://www.hackerrank.com/challenges/functional-palindromes) | Advanced | Coming Soon! | +| Data Structures | Advanced | [Lazy White Falcon](https://www.hackerrank.com/challenges/lazy-white-falcon) | Hard | Coming Soon! | +| Data Structures | Advanced | [Ticket to Ride](https://www.hackerrank.com/challenges/ticket-to-ride) | Expert | Coming Soon! | +| Data Structures | Advanced | [Heavy Light White Falcon](https://www.hackerrank.com/challenges/heavy-light-white-falcon) | Hard | Coming Soon! | +| Data Structures | Advanced | [Sum of the Maximums](https://www.hackerrank.com/challenges/little-alexey-and-sum-of-maximums) | Advanced | Coming Soon! | +| Data Structures | Advanced | [Heavy Light 2 White Falcon](https://www.hackerrank.com/challenges/heavy-light-2-white-falcon) | Hard | Coming Soon! | +| Data Structures | Advanced | [Library Query](https://www.hackerrank.com/challenges/library-query) | Advanced | Coming Soon! | +| Data Structures | Advanced | [Starfleet](https://www.hackerrank.com/challenges/starfleet) | Advanced | Coming Soon! | +| Data Structures | Advanced | [Almost Equal - Advanced](https://www.hackerrank.com/challenges/almost-equal-advanced) | Expert | Coming Soon! | +| Data Structures | Advanced | [Almost sorted interval](https://www.hackerrank.com/challenges/almost-sorted-interval) | Expert | Coming Soon! | +| Data Structures | Advanced | [Burger Happiness](https://www.hackerrank.com/challenges/burger-happiness) | Hard | Coming Soon! | +| Data Structures | Advanced | [Roy and alpha-beta trees](https://www.hackerrank.com/challenges/roy-and-alpha-beta-trees) | Hard | Coming Soon! | +| Data Structures | Advanced | [Coloring Tree](https://www.hackerrank.com/challenges/coloring-tree) | Hard | Coming Soon! | +| Data Structures | Advanced | [Recalling Early Days GP with Trees](https://www.hackerrank.com/challenges/recalling-early-days-gp-with-trees) | Hard | Coming Soon! | +| Data Structures | Advanced | [Swaps and Sum](https://www.hackerrank.com/challenges/swaps-and-sum) | Advanced | Coming Soon! | +| Data Structures | Advanced | [Arithmetic Progressions](https://www.hackerrank.com/challenges/arithmetic-progressions) | Advanced | Coming Soon! | +| Data Structures | Advanced | [Coolguy and Two Subsequences](https://www.hackerrank.com/challenges/coolguy-and-two-subsequences) | Advanced | Coming Soon! | +| Data Structures | Advanced | [White Falcon And Tree](https://www.hackerrank.com/challenges/white-falcon-and-tree) | Hard | Coming Soon! | +| Data Structures | Advanced | [Subtrees And Paths](https://www.hackerrank.com/challenges/subtrees-and-paths) | Advanced | Coming Soon! | +| Data Structures | Advanced | [Triplets](https://www.hackerrank.com/challenges/triplets) | Advanced | Coming Soon! | +| Data Structures | Advanced | [Beautiful Segments](https://www.hackerrank.com/challenges/beautiful-segments) | Expert | Coming Soon! | +| Data Structures | Advanced | [Divisibility](https://www.hackerrank.com/challenges/ab0) | Expert | Coming Soon! | +| Data Structures | Advanced | [BST maintenance](https://www.hackerrank.com/challenges/bst-maintenance) | Advanced | Coming Soon! | +| Data Structures | Advanced | [Find Maximum Index Product](https://www.hackerrank.com/challenges/find-maximum-index-product) | Medium | Coming Soon! | +| Data Structures | Advanced | [Taxicab Driver's Problem](https://www.hackerrank.com/challenges/taxicab-drivers-problem) | Advanced | Coming Soon! | +| Data Structures | Advanced | [Jaggu Playing with Balloons](https://www.hackerrank.com/challenges/jagia-playing-with-numbers) | Advanced | Coming Soon! | +| Data Structures | Advanced | [Dynamic Summation](https://www.hackerrank.com/challenges/dynamic-summation) | Hard | Coming Soon! | +| Data Structures | Advanced | [Two Array Problem](https://www.hackerrank.com/challenges/weird-queries) | Hard | Coming Soon! | +| Data Structures | Advanced | [Rooted Tree](https://www.hackerrank.com/challenges/rooted-tree) | Hard | Coming Soon! | +| Data Structures | Advanced | [The crazy helix](https://www.hackerrank.com/challenges/helix) | Advanced | Coming Soon! | +| Data Structures | Advanced | [Network administration](https://www.hackerrank.com/challenges/net-admin) | Hard | Coming Soon! | +| Data Structures | Advanced | [Easy Addition](https://www.hackerrank.com/challenges/easy-addition) | Expert | Coming Soon! | +| Data Structures | Advanced | [Find the permutation](https://www.hackerrank.com/challenges/find-the-permutation) | Expert | Coming Soon! | +| Data Structures | Advanced | [Company Retreat](https://www.hackerrank.com/challenges/company-retreat) | Advanced | Coming Soon! | ## Java | Domain | Subdomain | Challenge | Difficulty | Solution | |:------:|:---------------------------:|:------------------------------------------------------------------------------------------------------------------------:|:----------:|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:| -| Java | Introduction | [Welcome to Java!](https://www.hackerrank.com/challenges/welcome-to-java) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Introduction/Welcome%20to%20Java!/Solution.java) | -| Java | Introduction | [Java Stdin and Stdout I](https://www.hackerrank.com/challenges/java-stdin-and-stdout-1) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Introduction/Java%20Stdin%20and%20Stdout%20I/Solution.java) | -| Java | Introduction | [Java If-Else](https://www.hackerrank.com/challenges/java-if-else) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Introduction/Java%20If-Else/Solution.java) | -| Java | Introduction | [Java Stdin and Stdout II](https://www.hackerrank.com/challenges/java-stdin-stdout) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Introduction/Java%20Stdin%20and%20Stdout%20II/Solution.java) | -| Java | Introduction | [Java Output Formatting](https://www.hackerrank.com/challenges/java-output-formatting) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Introduction/Java%20Output%20Formatting/Solution.java) | -| Java | Introduction | [Java Loops I](https://www.hackerrank.com/challenges/java-loops-i) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Introduction/Java%20Loops%20I/Solution.java) | -| Java | Introduction | [Java Loops II](https://www.hackerrank.com/challenges/java-loops) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Introduction/Java%20Loops%20II/Solution.java) | -| Java | Introduction | [Java Datatypes](https://www.hackerrank.com/challenges/java-datatypes) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Introduction/Java%20Datatypes/Solution.java) | -| Java | Introduction | [Java End-of-file](https://www.hackerrank.com/challenges/java-end-of-file) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Introduction/Java%20End-of-file/Solution.java) | -| Java | Introduction | [Java Static Initializer Block](https://www.hackerrank.com/challenges/java-static-initializer-block) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Introduction/Java%20Static%20Initializer%20Block/Solution.java) | -| Java | Introduction | [Java Int to String](https://www.hackerrank.com/challenges/java-int-to-string) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Introduction/Java%20Int%20to%20String/Solution.java) | -| Java | Introduction | [Java Data and Time](https://www.hackerrank.com/challenges/java-date-and-time) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Introduction/Java%20Date%20and%20Time/Solution.java) | -| Java | Introduction | [Java Currency Formatter](https://www.hackerrank.com/challenges/java-currency-formatter) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Introduction/Java%20Currency%20Formatter/Solution.java) | -| Java | Strings | [Java Strings Introduction](https://www.hackerrank.com/challenges/java-strings-introduction) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Strings/Java%20Strings%20Introduction/Solution.java) | -| Java | Strings | [Java Substring](https://www.hackerrank.com/challenges/java-substring) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Strings/Java%20Substring/Solution.java) | -| Java | Strings | [Java String Compare](https://www.hackerrank.com/challenges/java-string-compare) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Strings/Java%20String%20Compare/Solution.java) | -| Java | Strings | [Java String Reverse](https://www.hackerrank.com/challenges/java-string-reverse) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Strings/Java%20String%20Reverse/Solution.java) | -| Java | Strings | [Java Anagrams](https://www.hackerrank.com/challenges/java-anagrams) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Strings/Java%20Anagrams/Solution.java) | -| Java | Strings | [Java String Tokens](https://www.hackerrank.com/challenges/java-string-tokens) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Strings/Java%20String%20Tokens/Solution.java) | -| Java | Strings | [Pattern Syntax Checker](https://www.hackerrank.com/challenges/pattern-syntax-checker) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Strings/Pattern%20Syntax%20Checker/Solution.java) | -| Java | Strings | [Java Regex](https://www.hackerrank.com/challenges/java-regex) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Strings/Java%20Regex/Solution.java) | -| Java | Strings | [Java Regex 2 - Duplicate Words](https://www.hackerrank.com/challenges/duplicate-word) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Strings/Java%20Regex%202%20-%20Duplicate%20Words/Solution.java) | -| Java | Strings | [Java Regex 3 - Username Checker](https://www.hackerrank.com/challenges/valid-username-checker) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Strings/Java%20Regex%203%20-%20Username%20Checker/Solution.java) | -| Java | Strings | [Tag Content Extractor](https://www.hackerrank.com/challenges/tag-content-extractor) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Strings/Tag%20Content%20Extractor/Solution.java) | -| Java | BigNumber | [Java BigInteger](https://www.hackerrank.com/challenges/java-biginteger) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/BigNumber/Java%20BigInteger/Solution.java) | -| Java | BigNumber | [Java BigDecimal](https://www.hackerrank.com/challenges/java-bigdecimal) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/BigNumber/Java%20BigDecimal/Solution.java) | -| Java | BigNumber | [Java Primality Test](https://www.hackerrank.com/challenges/java-primality-test) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/BigNumber/Java%20Primality%20Test/Solution.java) | -| Java | Data Structures | [Java 1D Array](https://www.hackerrank.com/challenges/java-1d-array-introduction) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%201D%20Array/Solution.java) | -| Java | Data Structures | [Java 2D Array](https://www.hackerrank.com/challenges/java-2d-array) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%202D%20Array/Solution.java) | -| Java | Data Structures | [Java Subarray](https://www.hackerrank.com/challenges/java-negative-subarray) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%20Subarray/Solution.java) | -| Java | Data Structures | [Java Arraylist](https://www.hackerrank.com/challenges/java-arraylist) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%20ArrayList/Solution.java) | -| Java | Data Structures | [Java 1D Array (Part 2)](https://www.hackerrank.com/challenges/java-1d-array) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%201D%20Array%20(Part%202)/Solution.java) | -| Java | Data Structures | [Java List](https://www.hackerrank.com/challenges/java-list) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%20List/Solution.java) | -| Java | Data Structures | [Java Map](https://www.hackerrank.com/challenges/phone-book) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%20Map/Solution.java) | -| Java | Data Structures | [Java Stack](https://www.hackerrank.com/challenges/java-stack) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%20Stack/Solution.java) | -| Java | Data Structures | [Java Hashset](https://www.hackerrank.com/challenges/java-hashset) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%20Hashset/Solution.java) | -| Java | Data Structures | [Java Generics](https://www.hackerrank.com/challenges/java-generics) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%20Generics/Solution.java) | -| Java | Data Structures | [Java Comparator](https://www.hackerrank.com/challenges/java-comparator) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%20Comparator/Solution.java) | -| Java | Data Structures | [Java Sort](https://www.hackerrank.com/challenges/java-sort) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%20Sort/Solution.java) | -| Java | Data Structures | [Java Dequeue](https://www.hackerrank.com/challenges/java-dequeue) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%20Dequeue/Solution.java) | -| Java | Data Structures | [Java BitSet](https://www.hackerrank.com/challenges/java-bitset) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%20BitSet/Solution.java) | -| Java | Data Structures | [Java Priority Queue](https://www.hackerrank.com/challenges/java-priority-queue) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%20Priority%20Queue/Solution.java) | -| Java | Object Oriented Programming | [Java Inheritance I](https://www.hackerrank.com/challenges/java-inheritance-1) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Object%20Oriented%20Programming/Java%20Inheritance%20I/Solution.java) | -| Java | Object Oriented Programming | [Java Inheritance II](https://www.hackerrank.com/challenges/java-inheritance-2) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Object%20Oriented%20Programming/Java%20Inheritance%20II/Solution.java) | -| Java | Object Oriented Programming | [Java Abstract Class](https://www.hackerrank.com/challenges/java-abstract-class) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Object%20Oriented%20Programming/Java%20Abstract%20Class/Solution.java) | -| Java | Object Oriented Programming | [Java Interface](https://www.hackerrank.com/challenges/java-interface) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Object%20Oriented%20Programming/Java%20Interface/Solution.java) | -| Java | Object Oriented Programming | [Java Method Overriding](https://www.hackerrank.com/challenges/java-method-overriding) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Object%20Oriented%20Programming/Java%20Method%20Overriding/Solution.java) | +| Java | Introduction | [Welcome to Java!](https://www.hackerrank.com/challenges/welcome-to-java) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Introduction/Welcome%20to%20Java!/Solution.java) | +| Java | Introduction | [Java Stdin and Stdout I](https://www.hackerrank.com/challenges/java-stdin-and-stdout-1) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Introduction/Java%20Stdin%20and%20Stdout%20I/Solution.java) | +| Java | Introduction | [Java If-Else](https://www.hackerrank.com/challenges/java-if-else) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Introduction/Java%20If-Else/Solution.java) | +| Java | Introduction | [Java Stdin and Stdout II](https://www.hackerrank.com/challenges/java-stdin-stdout) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Introduction/Java%20Stdin%20and%20Stdout%20II/Solution.java) | +| Java | Introduction | [Java Output Formatting](https://www.hackerrank.com/challenges/java-output-formatting) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Introduction/Java%20Output%20Formatting/Solution.java) | +| Java | Introduction | [Java Loops I](https://www.hackerrank.com/challenges/java-loops-i) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Introduction/Java%20Loops%20I/Solution.java) | +| Java | Introduction | [Java Loops II](https://www.hackerrank.com/challenges/java-loops) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Introduction/Java%20Loops%20II/Solution.java) | +| Java | Introduction | [Java Datatypes](https://www.hackerrank.com/challenges/java-datatypes) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Introduction/Java%20Datatypes/Solution.java) | +| Java | Introduction | [Java End-of-file](https://www.hackerrank.com/challenges/java-end-of-file) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Introduction/Java%20End-of-file/Solution.java) | +| Java | Introduction | [Java Static Initializer Block](https://www.hackerrank.com/challenges/java-static-initializer-block) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Introduction/Java%20Static%20Initializer%20Block/Solution.java) | +| Java | Introduction | [Java Int to String](https://www.hackerrank.com/challenges/java-int-to-string) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Introduction/Java%20Int%20to%20String/Solution.java) | +| Java | Introduction | [Java Date and Time](https://www.hackerrank.com/challenges/java-date-and-time) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Introduction/Java%20Date%20and%20Time/Solution.java) | +| Java | Introduction | [Java Currency Formatter](https://www.hackerrank.com/challenges/java-currency-formatter) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Introduction/Java%20Currency%20Formatter/Solution.java) | +| Java | Strings | [Java Strings Introduction](https://www.hackerrank.com/challenges/java-strings-introduction) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Strings/Java%20Strings%20Introduction/Solution.java) | +| Java | Strings | [Java Substring](https://www.hackerrank.com/challenges/java-substring) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Strings/Java%20Substring/Solution.java) | +| Java | Strings | [Java String Compare](https://www.hackerrank.com/challenges/java-string-compare) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Strings/Java%20String%20Compare/Solution.java) | +| Java | Strings | [Java String Reverse](https://www.hackerrank.com/challenges/java-string-reverse) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Strings/Java%20String%20Reverse/Solution.java) | +| Java | Strings | [Java Anagrams](https://www.hackerrank.com/challenges/java-anagrams) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Strings/Java%20Anagrams/Solution.java) | +| Java | Strings | [Java String Tokens](https://www.hackerrank.com/challenges/java-string-tokens) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Strings/Java%20String%20Tokens/Solution.java) | +| Java | Strings | [Pattern Syntax Checker](https://www.hackerrank.com/challenges/pattern-syntax-checker) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Strings/Pattern%20Syntax%20Checker/Solution.java) | +| Java | Strings | [Java Regex](https://www.hackerrank.com/challenges/java-regex) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Strings/Java%20Regex/Solution.java) | +| Java | Strings | [Java Regex 2 - Duplicate Words](https://www.hackerrank.com/challenges/duplicate-word) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Strings/Java%20Regex%202%20-%20Duplicate%20Words/Solution.java) | +| Java | Strings | [Java Regex 3 - Username Checker](https://www.hackerrank.com/challenges/valid-username-checker) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Strings/Java%20Regex%203%20-%20Username%20Checker/Solution.java) | +| Java | Strings | [Tag Content Extractor](https://www.hackerrank.com/challenges/tag-content-extractor) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Strings/Tag%20Content%20Extractor/Solution.java) | +| Java | BigNumber | [Java BigInteger](https://www.hackerrank.com/challenges/java-biginteger) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/BigNumber/Java%20BigInteger/Solution.java) | +| Java | BigNumber | [Java BigDecimal](https://www.hackerrank.com/challenges/java-bigdecimal) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/BigNumber/Java%20BigDecimal/Solution.java) | +| Java | BigNumber | [Java Primality Test](https://www.hackerrank.com/challenges/java-primality-test) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/BigNumber/Java%20Primality%20Test/Solution.java) | +| Java | Data Structures | [Java 1D Array](https://www.hackerrank.com/challenges/java-1d-array-introduction) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%201D%20Array/Solution.java) | +| Java | Data Structures | [Java 2D Array](https://www.hackerrank.com/challenges/java-2d-array) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%202D%20Array/Solution.java) | +| Java | Data Structures | [Java Subarray](https://www.hackerrank.com/challenges/java-negative-subarray) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%20Subarray/Solution.java) | +| Java | Data Structures | [Java Arraylist](https://www.hackerrank.com/challenges/java-arraylist) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%20ArrayList/Solution.java) | +| Java | Data Structures | [Java 1D Array (Part 2)](https://www.hackerrank.com/challenges/java-1d-array) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%201D%20Array%20(Part%202)/Solution.java) | +| Java | Data Structures | [Java List](https://www.hackerrank.com/challenges/java-list) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%20List/Solution.java) | +| Java | Data Structures | [Java Map](https://www.hackerrank.com/challenges/phone-book) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%20Map/Solution.java) | +| Java | Data Structures | [Java Stack](https://www.hackerrank.com/challenges/java-stack) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%20Stack/Solution.java) | +| Java | Data Structures | [Java Hashset](https://www.hackerrank.com/challenges/java-hashset) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%20Hashset/Solution.java) | +| Java | Data Structures | [Java Generics](https://www.hackerrank.com/challenges/java-generics) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%20Generics/Solution.java) | +| Java | Data Structures | [Java Comparator](https://www.hackerrank.com/challenges/java-comparator) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%20Comparator/Solution.java) | +| Java | Data Structures | [Java Sort](https://www.hackerrank.com/challenges/java-sort) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%20Sort/Solution.java) | +| Java | Data Structures | [Java Dequeue](https://www.hackerrank.com/challenges/java-dequeue) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%20Dequeue/Solution.java) | +| Java | Data Structures | [Java BitSet](https://www.hackerrank.com/challenges/java-bitset) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%20BitSet/Solution.java) | +| Java | Data Structures | [Java Priority Queue](https://www.hackerrank.com/challenges/java-priority-queue) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Data%20Structures/Java%20Priority%20Queue/Solution.java) | +| Java | Object Oriented Programming | [Java Inheritance I](https://www.hackerrank.com/challenges/java-inheritance-1) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Object%20Oriented%20Programming/Java%20Inheritance%20I/Solution.java) | +| Java | Object Oriented Programming | [Java Inheritance II](https://www.hackerrank.com/challenges/java-inheritance-2) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Object%20Oriented%20Programming/Java%20Inheritance%20II/Solution.java) | +| Java | Object Oriented Programming | [Java Abstract Class](https://www.hackerrank.com/challenges/java-abstract-class) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Object%20Oriented%20Programming/Java%20Abstract%20Class/Solution.java) | +| Java | Object Oriented Programming | [Java Interface](https://www.hackerrank.com/challenges/java-interface) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Object%20Oriented%20Programming/Java%20Interface/Solution.java) | +| Java | Object Oriented Programming | [Java Method Overriding](https://www.hackerrank.com/challenges/java-method-overriding) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Object%20Oriented%20Programming/Java%20Method%20Overriding/Solution.java) | | Java | Object Oriented Programming | [Java Method Overriding 2 (Super Keyword)](https://www.hackerrank.com/challenges/java-method-overriding-2-super-keyword) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Object%20Oriented%20Programming/Java%20Method%20Overriding%202%20(Super%20Keyword)/Solution.java) | -| Java | Object Oriented Programming | [Java Instanceof keyword](https://www.hackerrank.com/challenges/java-instanceof-keyword) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Object%20Oriented%20Programming/Java%20Instanceof%20keyword/Solution.java) | -| Java | Object Oriented Programming | [Java Iterator](https://www.hackerrank.com/challenges/java-iterator) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Object%20Oriented%20Programming/Java%20Iterator/Solution.java) | -| Java | Object Oriented Programming | [Calculating Volume](https://www.hackerrank.com/challenges/calculating-volume) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Object%20Oriented%20Programming/Calculating%20Volume/Solution.java) | -| Java | Exception Handling | [Java Exception Handling (Try-catch)](https://www.hackerrank.com/challenges/java-exception-handling-try-catch) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Exception%20Handling/Java%20Exception%20Handling%20(Try-catch)/Solution.java) | -| Java | Exception Handling | [Java Exception Handling](https://www.hackerrank.com/challenges/java-exception-handling) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Exception%20Handling/Java%20Exception%20Handling/Solution.java) | -| Java | Advanced | [Java Varargs - Simple Addition](https://www.hackerrank.com/challenges/simple-addition-varargs) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Advanced/Java%20Varargs%20-%20Simple%20Addition/Solution.java) | -| Java | Advanced | [Java Reflection - Attributes](https://www.hackerrank.com/challenges/java-reflection-attributes) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Advanced/Java%20Reflection%20-%20Attributes/Solution.java) | -| Java | Advanced | [Can You Access](https://www.hackerrank.com/challenges/can-you-access) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Advanced/Can%20You%20Access/Solution.java) | -| Java | Advanced | [Prime Checker](https://www.hackerrank.com/challenges/prime-checker) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Advanced/Prime%20Checker/Solution.java) | -| Java | Advanced | [Java Factory Pattern](https://www.hackerrank.com/challenges/java-factory) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Advanced/Java%20Factory%20Pattern/Solution.java) | -| Java | Advanced | [Java Singleton Pattern](https://www.hackerrank.com/challenges/java-singleton) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Advanced/Java%20Singleton%20Pattern/Solution.java) | -| Java | Advanced | [Java Visitor Pattern](https://www.hackerrank.com/challenges/java-vistor-pattern) | Medium | Coming Soon! | -| Java | Advanced | [Java Annotations](https://www.hackerrank.com/challenges/java-annotations) | Medium | Coming Soon! | -| Java | Advanced | [Covariant Return Types](https://www.hackerrank.com/challenges/java-covariance) | Easy | Coming Soon! | -| Java | Advanced | [Java Lambda Expressions](https://www.hackerrank.com/challenges/java-lambda-expressions) | Medium | Coming Soon! | -| Java | Advanced | [Java MD5](https://www.hackerrank.com/challenges/java-md5) | Medium | Coming Soon! | -| Java | Advanced | [Java SHA-256](https://www.hackerrank.com/challenges/sha-256) | Medium | Coming Soon! | +| Java | Object Oriented Programming | [Java Instanceof keyword](https://www.hackerrank.com/challenges/java-instanceof-keyword) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Object%20Oriented%20Programming/Java%20Instanceof%20keyword/Solution.java) | +| Java | Object Oriented Programming | [Java Iterator](https://www.hackerrank.com/challenges/java-iterator) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Object%20Oriented%20Programming/Java%20Iterator/Solution.java) | +| Java | Object Oriented Programming | [Calculating Volume](https://www.hackerrank.com/challenges/calculating-volume) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Object%20Oriented%20Programming/Calculating%20Volume/Solution.java) | +| Java | Exception Handling | [Java Exception Handling (Try-catch)](https://www.hackerrank.com/challenges/java-exception-handling-try-catch) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Exception%20Handling/Java%20Exception%20Handling%20(Try-catch)/Solution.java) | +| Java | Exception Handling | [Java Exception Handling](https://www.hackerrank.com/challenges/java-exception-handling) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Exception%20Handling/Java%20Exception%20Handling/Solution.java) | +| Java | Advanced | [Java Varargs - Simple Addition](https://www.hackerrank.com/challenges/simple-addition-varargs) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Advanced/Java%20Varargs%20-%20Simple%20Addition/Solution.java) | +| Java | Advanced | [Java Reflection - Attributes](https://www.hackerrank.com/challenges/java-reflection-attributes) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Advanced/Java%20Reflection%20-%20Attributes/Solution.java) | +| Java | Advanced | [Can You Access](https://www.hackerrank.com/challenges/can-you-access) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Advanced/Can%20You%20Access/Solution.java) | +| Java | Advanced | [Prime Checker](https://www.hackerrank.com/challenges/prime-checker) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Advanced/Prime%20Checker/Solution.java) | +| Java | Advanced | [Java Factory Pattern](https://www.hackerrank.com/challenges/java-factory) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Advanced/Java%20Factory%20Pattern/Solution.java) | +| Java | Advanced | [Java Singleton Pattern](https://www.hackerrank.com/challenges/java-singleton) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Advanced/Java%20Singleton%20Pattern/Solution.java) | +| Java | Advanced | [Java Visitor Pattern](https://www.hackerrank.com/challenges/java-vistor-pattern) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Advanced/Java%20Visitor%20Pattern/Solution.java) | +| Java | Advanced | [Java Annotations](https://www.hackerrank.com/challenges/java-annotations) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Advanced/Java%20Annotations/Solution.java) | +| Java | Advanced | [Covariant Return Types](https://www.hackerrank.com/challenges/java-covariance) | Easy | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Advanced/Covariant%20Return%20Types/Solution.java) | +| Java | Advanced | [Java Lambda Expressions](https://www.hackerrank.com/challenges/java-lambda-expressions) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Advanced/Java%20Lambda%20Expressions/Solution.java) | +| Java | Advanced | [Java MD5](https://www.hackerrank.com/challenges/java-md5) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Advanced/Java%20MDS/Solution.java) | +| Java | Advanced | [Java SHA-256](https://www.hackerrank.com/challenges/sha-256) | Medium | [Solution.java](https://github.com/rshaghoulian/HackerRank-solutions/blob/master/Java/Advanced/Java%20SHA-256/Solution.java) |