This repository contains HackerRank problems solutions

Coding environment used- Windows 8.1, Eclipse neon, JAVA 7

30 Days of Code

Day Challenge Solution
0 Hello, World Day0HelloWorld.java
1 Data Types Day1DataTypes.java
2 Operators Day2Operators.java
3 Intro to Conditional Statements Day3IntroToConditionalStatements.java
4 Class vs. Instance Day4ClassVsInstance.java
5 Loops Day5Loops.java
6 Let's Review Day6LetsReview.java
7 Arrays Day7Arrays.java
8 Dictionaries and Maps Day8DictionariesAndMaps.java
9 Recursion Day9Recursion.java
10 Binary Numbers Day10BinaryNumbers.java
11 2D Arrays Day112DArrays.java
12 Inheritance Student.java
13 Abstract Classes MyBook.java
14 Scope Day14Scope.java
15 Linked List Day15LinkedList.java
16 Exceptions - String to Integer Day16ExceptionsStringToInteger.java
17 MoreExceptions Day17MoreExceptions.java
18 QueuesAndStacks Day18QueuesAndStacks.java
19 Interfaces Day19Interfaces.java
20 Sorting Day20Sorting.java
21 Generics Day21Generics.java
22 BinarySearchTrees Day22BinarySearchTrees.java
23 BSTLevelOrderTraversal Day23BSTLevelOrderTraversal.java
24 MoreLinkedLists Day24MoreLinkedLists.java
25 RunningTimeAndComplexity Day25RunningTimeAndComplexity.java
26 Nested Logic Day26NestedLogic.java
28 RegEx,Patterns,and Intro to Databases Day28RegExPatternsAndIntroToDatabases.java
29 Bitwise AND Day29BitwiseAND.java

Java

Subdomain Challenge Solution
Introduction Welcome to Java! WelcomeToJava.java
Introduction Java Stdin and Stdout I JavaStdinAndStdoutI.java
Introduction Java If-Else JavaIfElse.java
Introduction Java Stdin and Stdout II JavaStdinAndStdoutII.java
Introduction Java Output Formatting JavaOutputFormatting.java
Introduction Java Loops I JavaLoopsI.java
Introduction Java Loops II JavaLoopsII.java
Introduction Java Datatypes JavaDatatypes.java
Introduction Java End-of-file JavaEndOfFile.java
Introduction Java Static Initializer Block JavaStaticInitializerBlock.java
Introduction Java Int to String JavaIntToString.java
Introduction Java Date and Time JavaDateAndTime.java
Introduction Java Currency Formatter JavaCurrencyFormatter.java
Strings Java Strings Introduction JavaStringsIntroduction.java
Strings Java Substring JavaSubstring.java
Strings Java Substring Comparisons JavaSubstringComparisons.java
Strings Java String Reverse JavaStringReverse.java
Strings Java Anagrams JavaAnagrams.java
Strings Java String Tokens JavaStringTokens.java
Strings Pattern Syntax Checker PatternSyntaxChecker.java
Strings Valid Username Regular Expression ValidUsernameRegularExpression.java
Strings Tag Content Extractor TagContentExtractor.java
Strings Java Regex JavaRegex.java
Strings Java Regex 2 - Duplicate Words JavaRegex2DuplicateWords.java
BigInteger Java BigInteger JavaBigInteger.java
BigInteger Java BigDecimal JavaBigDecimal.java
BigInteger Java Primality Test JavaPrimalityTest.java
Data Structures Java 1D Array Java1DArray.java
Data Structures Java 2D Array Java2DArray.java
Data Structures Java Subarray JavaSubarray.java
Data Structures Java Arraylist JavaArraylist.java
Data Structures Java Map JavaMap.java
Data Structures Java Hashset JavaHashset.java
Data Structures Java Comparator JavaComparator.java
Data Structures Java Sort JavaSort.java
Data Structures Java List JavaList.java
Data Structures Java Generics JavaGenerics.java
Data Structures Java Stack JavaStack.java
Data Structures Java Dequeue JavaDequeue.java
Data Structures Java BitSet JavaBitSet.java
Data Structures Java Priority Queue JavaPriorityQueue.java
Data Structures Java 1D Array (Part 2) Java1DArrayPart2.java
Object Oriented Programming Java Inheritance I JavaInheritanceI.java
Object Oriented Programming Java Inheritance II JavaInheritanceII.java
Object Oriented Programming Java Abstract Class JavaAbstractClass.java
Object Oriented Programming Java Interface JavaInterface.java
Object Oriented Programming Java Method Overriding JavaMethodOverriding.java
Object Oriented Programming Java Method Overriding 2(Super Keyword) JavaMethodOverriding2SuperKeyword.java
Object Oriented Programming Java Instanceof keyword JavaInstanceofkeyword.java
Object Oriented Programming Java Iterator JavaIterator.java
Exception Handling Java Exception Handling (Try-catch) JavaExceptionHandlingTryCatch.java
Exception Handling Java Exception Handling JavaExceptionHandling.java

Algorithms

Subdomain Challenge Solution
Sorting Quicksort 1 - Partition Quicksort1Partition.java
Sorting Marc's Cakewalk MarcsCakewalk.java
Sorting Minimum Absolute Difference in an Array MinimumAbsoluteDifferenceInAnArray.java
Sorting Luck Balance LuckBalance.java
Sorting Climbing the Leaderboard ClimbingTheLeaderboard.java
Sorting Big Sorting BigSorting.java
Sorting Insertion Sort - Part 1 InsertionSortPart1.java
Sorting Insertion Sort - Part 2 InsertionSortPart2.java
Sorting Correctness and the Loop Invariant CorrectnessAndTheLoopInvariant.java
Sorting Running Time of Algorithms RunningTimeOfAlgorithms.java
Sorting Counting Sort 1 CountingSort1.java

Cracking the Coding Interview

Topic Challenge Solution
Techniques / Concepts Time Complexity: Primality Primality.java
Techniques / Concepts Recursion: Fibonacci Numbers FibonacciNumber.java
Techniques / Concepts Recursion: Davis' Staircase DavisStaircase.java
Techniques / Concepts Bit Manipulation: Lonely Integer LonelyInteger.java
Data Structures Arrays: Left Rotation LeftRotation.java
Data Structures Strings: Making Anagrams MakingAnagrams.java
Data Structures Linked Lists: Detect a Cycle DetectACycle.java
Data Structures Stacks: Balanced Brackets BalancedBrackets.java

Data Structures

Subdomain Challenge Solution
Arrays Arrays - DS ArraysDS.java
Arrays 2D Array - DS TwoDArrayDS.java
Arrays Dynamic Array DynamicArray.java
Arrays Left Rotation LeftRotation.java
Arrays Big Sorting BigSorting.java
Arrays Sparse Arrays SparseArrays.java
Stacks Maximum Element MaximumElement.java
Stacks Balanced Brackets BalancedBrackets.java
Stacks Equal Stacks EqualStacks.java
Stacks Largest Rectangle LargestRectangle.java
Stacks Simple Text Editor SimpleTextEditor.java
Trees Preorder Traversal PreorderTraversal.java
Trees Inorder Traversal InorderTraversal.java
Trees Postorder Traversal PostorderTraversal.java
Trees Height of a Binary Tree HeightOfABinaryTree.java
Trees Level Order Traversal LevelOrderTraversal.java
Trees Huffman Decoding HuffmanDecoding.java
Trees Top View TopView.java
Linked List Print the Elements of a Linked List PrintTheElementsOfALinkedList.java
Linked List Insert a node at the head of a linked list InsertANodeAtHeadOfAList.java
Linked List Insert a Node at the Tail of a Linked List InsertANodeAtTheTailOfALinkedList.java
Tries Contacts Contacts.java
Tries No Prefix Set NoPrefixSet.java
Queues Queue using Two Stacks QueueUsingTwoStacks.java
Heaps QHEAP1 QHEAP1.java
Heaps Jesse and Cookies JesseAndCookies.java
Heaps Find the Running Median FindTheRunningMedian.java
Disjoint Set Merging Communities MergingCommunities.java
Disjoint Set Components in a graph ComponentsInAGraph.java

General Programming

Subdomain Challenge Solution
Basic Programming Solve Me First SolveMeFirst.java
Basic Programming Staircase Staircase.java
Basic Programming Plus Minus PlusMinus.java
Basic Programming Diagonal Difference DiagonalDifference.java
Basic Programming A Very Big Sum AVeryBigSum.java
Basic Programming Simple Array Sum SimpleArraySum.java
Basic Programming Compare the Triplets CompareTheTriplets.java