Skip to content

This repository contains most of the HackerRank problems solutions with video explaination

Notifications You must be signed in to change notification settings

rashedulemon/Hackerrank-Solutions

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 

Repository files navigation


This repository contains HackerRank problems solutions

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
27 Day 27: Testing Day27Testing.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
Advanced Java Varargs - Simple Addition JavaVarargsSimpleAddition.java
Advanced Java Reflection - Attributes JavaReflectionAttributes.java
Advanced Can You Access? CanYouAccess.java
Advanced Java Factory Pattern JavaFactoryPattern.java
Advanced Java Singleton Pattern JavaSingletonPattern.java
Advanced Covariant Return Types CovariantReturnTypes.java
Advanced Prime Checker PrimeChecker.java
Advanced Java Annotations JavaAnnotations.java
Advanced Java Lambda Expressions JavaLambdaExpressions.java
Advanced Java MD5 JavaMD5.java
Advanced Java SHA-256 JavaSHA256.java
Advanced Java Visitor Pattern JavaVisitorPattern.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
Sorting Counting Sort 2 CountingSort2.java
Sorting Counting Sort 3 CountingSort3.java
Sorting Intro to Tutorial Challenges IntroToTutorialChallenges.java
Sorting Find the Median FindTheMedian.java
Sorting Closest Numbers ClosestNumbers.java
Sorting Mark and Toys MarkAndToys.java
Sorting Jim and the Orders JimAndTheOrders.java
search Lonely Integer LonelyInteger.java
search Bit Manipulation: Lonely Integer BitManipulationLonelyInteger.java
search Ice Cream Parlor IceCreamParlor.java
search HashTables: IceCreamParlor HashTablesIceCreamParlor.java
search Minimum Loss MinimumLoss.java
Greedy Algorithms Marc's Cakewalk MarcsCakewalk.java
Greedy Algorithms Luck Balance LuckBalance.java
Greedy Algorithms Equal Stacks EqualStacks.java
Greedy Algorithms Mark and Toys MarkAndToys.java
Greedy Algorithms Jim and the Orders JimAndTheOrders.java
Greedy Algorithms Priyanka and Toys PriyankaAndToys.java
Graph Theory Kruskal (MST): Really Special Subtree KruskalMSTReallySpecialSubtree.java
Graph Theory Breadth First Search: Shortest Reach BreadthFirstSearchShortestReach.java
Graph Theory Prim's (MST) : Special Subtree PrimsMSTSpecialSubtree.java
Strings Super Reduced String SuperReducedString.java
Strings Caesar Cipher CaesarCipher.java
Strings Mars Exploration MarsExploration.java
Strings CamelCase CamelCase.java
Strings Gemstones Gemstones.java
Strings The Love-Letter Mystery TheLoveLetterMystery.java
Strings Pangrams Pangrams.java
Strings Alternating Characters AlternatingCharacters.java
Strings Beautiful Binary String BeautifulBinaryString.java
Strings Big Sorting BigSorting.java
Strings Anagram Anagram.java
Strings Two Strings TwoStrings.java
Strings Funny String FunnyString.java
Strings String Construction StringConstruction.java
Strings Strings: Making Anagrams StringsMakingAnagrams.java
Strings Making Anagrams MakingAnagrams.java
Strings Caesar Cipher: Encryption CaesarCipherEncryption.java
Strings Game of Thrones - I GameOfThronesI.java
Strings Sherlock and the Valid String SherlockAndTheValidString.java
Dynamic Programming Fibonacci Modified FibonacciModified.java
Bit Manipulation Lonely Integer LonelyInteger.java
Bit Manipulation Bit Manipulation: Lonely Integer BitManipulationLonelyInteger.java
Bit Manipulation Sum vs XOR SumvsXOR.java
Bit Manipulation Maximizing XOR MaximizingXOR.java
Bit Manipulation Sansa and XOR SansaAndXOR.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
Techniques / Concepts DP: Coin Change DPCoinChange.java
Data Structures Arrays: Left Rotation LeftRotation.java
Data Structures Strings: Making Anagrams MakingAnagrams.java
Data Structures Hash Tables: Ransom Note HashTablesRansomNote.java
Data Structures Linked Lists: Detect a Cycle DetectACycle.java
Data Structures Stacks: Balanced Brackets BalancedBrackets.java
Data Structures Trees: Is This a Binary Search Tree? TreesIsThisABinarySearchTree.java
Data Structures Heaps: Find the Running Median HeapsFindTheRunningMedian.java
Data Structures Tries: Contacts TriesContacts.java
Algorithms Sorting: Bubble Sort SortingBubbleSort.java
Algorithms Sorting: Comparator SortingComparator.java
Algorithms Hash Tables: Ice Cream Parlor HashTablesIceCreamParlor.java
Algorithms BFS: Shortest Reach in a Graph BFSShortestReachInAGraph.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
Arrays Array Manipulation ArrayManipulation.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
Linked List Insert a node at a specific position in a linked list InsertANodeAtASpecificPositionInALinkedList.java
Linked List Delete a Node DeleteANode.java
Linked List Print in Reverse PrintInReverse.java
Linked List Reverse a linked list ReverseALinkedList.java
Linked List Compare two linked lists CompareTwoLinkedLists.java
Linked List Merge two sorted linked lists MergeTwoSortedLinkedLists.java
Linked List Get Node Value GetNodeValue.java
Linked List Delete duplicate-value nodes from a sorted linked list DeleteDuplicateValueNodesFromASortedLinkedList.java
Linked List Cycle Detection CycleDetection.java
Linked List Find Merge Point of Two Lists FindMergePointOfTwoLists.java
Linked List Inserting a Node Into a Sorted Doubly Linked List InsertingANodeIntoASortedDoublyLinkedList.java
Linked List Reverse a doubly linked list ReverseADoublyLinkedList.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 Video Explaination
Basic Programming Solve Me First SolveMeFirst.java Tutorial
Basic Programming Staircase Staircase.java Tutorial
Basic Programming Plus Minus PlusMinus.java Tutorial
Basic Programming Diagonal Difference DiagonalDifference.java
Basic Programming A Very Big Sum AVeryBigSum.java Tutorial
Basic Programming Simple Array Sum SimpleArraySum.java Tutorial
Basic Programming Compare the Triplets CompareTheTriplets.java
Basic Programming Divisible Sum Pairs DivisibleSumPairs.java
Basic Programming Kangaroo Kangaroo.java
Basic Programming Drawing Book DrawingBook.java
Basic Programming Birthday Cake Candles BirthdayCakeCandles.java
Basic Programming Bon Appétit BonAppétit.java
Basic Programming Sock Merchant SockMerchant.java
Basic Programming Apple and Orange AppleAndOrange.java
Basic Programming Between Two Sets BetweenTwoSets.java
Basic Programming Mini-Max Sum MiniMaxSum.java
Basic Programming Grading Students GradingStudents.java
Basic Programming Breaking the Records BreakingTheRecords.java
Basic Programming Migratory Birds MigratoryBirds.java
Basic Programming Birthday Chocolate BirthdayChocolate.java
Basic Programming Time Conversion TimeConversion.java
Basic Programming Library Fine LibraryFine.java
Basic Programming Save the Prisoner! SaveThePrisoner.java
Basic Programming Jumping on the Clouds: Revisited JumpingOnTheCloudsRevisited.java
Basic Programming Counting Valleys CountingValleys.java
Basic Programming Viral Advertising ViralAdvertising.java
Basic Programming Beautiful Days at the Movies BeautifulDaysAtTheMovies.java
Basic Programming Electronics Shop ElectronicsShop.java
Basic Programming Cats and a Mouse CatsAndAMouse.java
Basic Programming Day of the Programmer DayOfTheProgrammer.java
Basic Programming The Hurdle Race TheHurdleRace.java
Basic Programming Utopian Tree UtopianTree.java
Basic Programming Service Lane ServiceLane.java
Basic Programming Circular Array Rotation CircularArrayRotation.java
Basic Programming Sherlock and Squares SherlockAndSquares.java
Basic Programming Angry Professor AngryProfessor.java
Basic Programming Extra Long Factorials ExtraLongFactorials.java
Basic Programming Minimum Distances MinimumDistances.java
Basic Programming Non-Divisible Subset NonDivisibleSubset.java
Basic Programming Beautiful Triplets BeautifulTriplets.java
Basic Programming Jumping on the Clouds JumpingOnTheClouds.java
Basic Programming Equalize the Array EqualizeTheArray.java
Basic Programming Designer PDF Viewer DesignerPDFViewer.java
Basic Programming Forming a Magic Square FormingAMagicSquare.java
Basic Programming Repeated String RepeatedString.java
Basic Programming Bitwise AND BitwiseAND.java
Basic Programming Divisible Pairs Sum DivisiblePairsSum.java
Basic Programming Append and Delete AppendAndDelete.java
Basic Programming Picking Numbers PickingNumbers.java
Basic Programming Climbing the Leaderboard ClimbingTheLeaderboard.java
Basic Programming Sequence Equation SequenceEquation.java
Basic Programming Find Digits FindDigits.java
Basic Programming Chocolate Feast ChocolateFeast.java
Basic Programming Cut the sticks CutTheSticks.java
Basic Programming ACM ICPC Team ACMICPCTeam.java
Basic Programming Taum and B'day TaumAndBday.java
Basic Programming The Time in Words TheTimeInWords.java
Basic Programming Flatland Space Stations FlatlandSpaceStations.java
Basic Programming Lisa's Workbook LisasWorkbook.java
Basic Programming Fair Rations FairRations.java
Basic Programming Manasa and Stones ManasaAndStones.java
Basic Programming Cavity Map CavityMap.java
Basic Programming The Grid Search TheGridSearch.java
Basic Programming Happy Ladybugs HappyLadybugs.java
Basic Programming Strange Counter StrangeCounter.java
Basic Programming Consecutive 1's in Binary Numbers Consecutive1sInBinaryNumbers.java

IMPLEMENTATION

Subdomain Challenge Solution
Brute Force Day of the Programmer DayOfTheProgrammer.java
Brute Force Pangrams Pangrams.java
Brute Force Climbing the Leaderboard ClimbingTheLeaderboard.java
Brute Force Strings: Making Anagrams StringsMakingAnagrams.java
Brute Force Encryption Encryption.java
Brute Force Making Anagrams MakingAnagrams.java

About

This repository contains most of the HackerRank problems solutions with video explaination

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%