# CategoryHackerRank

## HackerRank ‘Two Strings’ Solution

H

Short Problem Definition:
You are given two strings, A and B. Find if there is a substring that appears in both A and B.
Two Strings
Complexity:
time complexity is O(N+M);
space complexity is O(1)
Execution:
At first sight this seems like a longest common substring problem. It is actually much easier. You just need to find out if there are two equal letters in both strings A and B.
Solution:

## HackerRank ‘Utopian Tree’ Solution

H

Short Problem Definition: The Utopian Tree goes through 2 cycles of growth every year. The first growth cycle occurs during the spring, when it doubles in height. The second growth cycle occurs during the summer, when its height increases by 1 meter.  Now, a new Utopian Tree sapling is planted at the onset of spring. Its height is 1 meter. Can you find the height of the tree after N growth cycles...

## HackerRank ‘Waiter’ Solution

H

Short Problem Definition: You are a waiter at a party. There are NN stacked plates. Each plate has a number written on it. You start picking up the plates from the top one by one and check whether the number written on the plate is divisible by a prime…. Link Waiter Complexity: time complexity is O(N*Q) space complexity is O(N) Execution: First of all, generate primes using Sieve, or copy-paste a...

## HackerRank ‘Pairs’ Solution

H

Short Problem Definition: Given N integers, count the number of pairs of integers whose difference is K. Link Pairs Complexity: time complexity is O(N*log(N)) space complexity is O(N) Execution: The solution is pretty straight-forward, just read the code :). The runtime complexity is calculated with log(N) access times for tree-based sets (not the case in Python). Solution: 1 2 3 4 5 6 7 8 9...

## HackerRank ‘Sherlock and Watson’ Solution

H

Short Problem Definition: John Watson performs an operation called Right Circular Rotation on an integer array [a0, a1, … an-1]. Right Circular Rotation transforms the array from [a0, a1, … aN-1] to [aN-1, a0,… aN-2]. He performs the operation K times and tests Sherlock’s ability to identify the element at a particular position in the array. He asks Q queries. Each query consists of one integer...

## HackerRank ‘Palindrome Index’ Solution

H

Short Problem Definition: You are given a string of lower case letters. Your task is to figure out the index of the character on whose removal it will make the string a palindrome. There will always be a valid solution. Link Palindrome Index Complexity: time complexity is O(N) space complexity is O(N) Execution: The solution seems n^2 but isPalindrome is executed only once. Due to the problem...

## HackerRank ‘Simple Text Editor’ Solution

H

Short Problem Definition: In this problem, your task is to implement a simple text editor. Initially, a file contains an empty string S. Your task is to perform Q operations consisting of the following 4 types: append(W) – Appends the string W at the end of S. erase(k) – Erase the last k character of S. get(k) – Returns the kth character of S. undo() – Undo the last not previously undone...

## HackerRank ‘Pangrams’ Solution

H

Short Problem Definition: Roy wanted to increase his typing speed for programming contests. So, his friend advised him to type the sentence “The quick brown fox jumps over the lazy dog” repeatedly, because it is a pangram. (Pangrams are sentences constructed by using every letter of the alphabet at least once.) Link Pangrams Complexity: time complexity is O(N) space complexity is O(N) Execution:...

## HackerRank ‘Sock Merchant’ Solution

H

Short Problem Definition: John works at a clothing store. He has a large pile of socks that he must pair by color for sale. Given an array of integers representing the color of each sock, determine how many pairs of socks with matching colors there are. Link Sock Merchant Complexity: time complexity is O(N) space complexity is O(N) Execution: Group the same color together. Look out for the...

## HackerRank ‘Picking Numbers’ Solution

H

Short Problem Definition: Given an array of integers, find and print the maximum number of integers you can select from the array such that the absolute difference between any two of the chosen integers is less than or equal to 1. For example, if your array is a = [1, 1, 2, 2, 4, 4, 5, 5, 5], you can create two subarrays meeting the criterion:  [1 ,1 ,2 ,2] and [4, 4, 5, 5, 5]. The...