Full Hackerrank
Full Hackerrank
Full Hackerrank
// base case
count[0] = 1;
}
GROUP DIVISION
EMPLOYEE IMPLEMENTATION
COUNTING PAIRS
OR
COUNTING PERMUTATION
OR
OR
public class Solution {
next[1] += current[0];
next[0] += current[1];
next[2] += current[1];
next[0] += current[2];
next[1] += current[2];
next[3] += current[2];
next[4] += current[2];
next[2] += current[3];
next[4] += current[3];
next[0] += current[4];
// assign
System.out.println(s.countVowelPermutation(1));
System.out.println(s.countVowelPermutation(2));
System.out.println(s.countVowelPermutation(5));
System.out.println(s.countVowelPermutation(20000));
}
BALANCED SUM
OR
BALANCING PARANTHESIS
GET MINIMUM
OR
FIND BEFORE MATRIX
DIVICE NAME SYSTEM
OR
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
newNameList.add(s+devNumList.get(s));
devNumList.replace(s,
devNumList.get(s)+1);
}
else {
newNameList.add(s);
devNumList.put(s, 1);
}
}
return newNameList;
}
public static void main(String[] args) {
List<String> deviceNames=new
ArrayList<String>();
deviceNames.add("Switch");
deviceNames.add("tv");
deviceNames.add("Switch");
deviceNames.add("tv");
deviceNames.add("Switch");
deviceNames.add("tv");
deviceNames.add("Switch");
deviceNames.add("tv");
deviceNames=deviceNamesSystem(deviceNames);
deviceNames.forEach(x-
>System.out.println(x));
}
CONDENSED LIST
OR
// Java program to remove duplicates from unsorted
// linked list
class LinkedList {
int data;
Node next;
Node(int d) {
data = d;
next = null;
}
}
/* sequence of steps is
important here */
dup = ptr2.next;
ptr2.next = ptr2.next.next;
System.gc();
} else /* This is tricky */ {
ptr2 = ptr2.next;
}
}
ptr1 = ptr1.next;
}
}
list.remove_duplicates();
System.out.println("");
System.out.println("Linked List after removing
duplicates : \n ");
list.printList(head);
}
}
GROUPING OPTIONS
LIST INHERITANCE
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
interface MyList {
void convert(String[] a);
ArrayList<String> compact();
}
public InvalidStringException() {
super();
}
}
ArrayList<String> arrayToList;
public ArrayToList() {
arrayToList = new ArrayList<>();
}
@Override
public void convert(String[] a) {
for (int i = 0; i < a.length; i++) {
arrayToList.add(a[i]);
System.out.println("I have added the string: " +
a[i] + " at the index: " + i);
}
}
@Override
public void replace(int idx) {
String string = arrayToList.get(idx);
arrayToList.set(idx, null);
System.out.println("I have replaced the string: " +
string + " with a null string ");
}
@Override
public ArrayList<String> compact() {
arrayToList.removeAll(Collections.singleton(null));
return arrayToList;
}
}
public class Solution {
int n = sc.nextInt();
String[] a = new String[n];
arrayToList.convert(a);
arrayToList.replace(1);
arrayToList.compact();
sc.close();
}
OR
class InvalidStringException extends Exception {
public InvalidStringException(String s)
{
super(s);
}
}
}
public void convert(String[] a)
{
for(int i=0;i<a.length;i++)
{
darray.add(i,a[i]);
index=darray.indexOf(a[i]);
System.out.println("I have added the string: "+a[i]+" at
the index: "+i);
}
}
public void replace(int idx){
n=darray.get(idx);
darray.set(idx, "");
System.out.println("I have replaced the string: "+n+"
with a null string");
}
public ArrayList<String> compact()
{
darray.removeAll(Arrays.asList(""));
return darray;
}
SPORTS INHERITANCE
package test;
import java.util.*;
import java.io.*;
import java.io.*;
import java.math.*;
import java.security.*;
import java.text.*;
import java.util.*;
import java.util.concurrent.*;
import java.util.regex.*;
interface Sport{
void calculateAvgAge(int[] age);
void retirePlayer(int id);
}
Cricket(){
playerIDs=new int[11];
for(int i=0;i<11;i++) {
playerIDs[i]=1;
}
System.out.println("A new cricket team has been
formed");
}
Football(){
playerIDs=new int[11];
for(int i=0;i<11;i++) {
playerIDs[i]=1;
}
System.out.println("A new football team has been
formed");
}
}
}
CRICKET SPORTS
CAR INHERITANCE
class WagonR extends Car{
int mileage;
public WagonR(Integer mileage){
super(false, "4");
this.mileage = mileage;
}
@Override
public String getMileage(){
String mil=Integer.toString(mileage);
return mileage+" kmpl";
}
}
@Override
public String getMileage(){
String mil=Integer.toString(mileage);
return mil+" kmpl";
}
}
super(false, "6");
this.mileage = mileage;
@Override
public String getMileage(){
String mil=Integer.toString(mileage);
return mil+" kmpl";
}
}
PRISON BREAK
Matrix Summation
Merge 2 arrays
NUMBER OF MOVES
OR
class Solution {
int x, y;
int dis;
this.x = x;
this.y = y;
this.dis = dis;
// inside Board
return true;
return false;
public static int minMoves(int n, int startRow, int startCol, int endRow, int
endCol) {
Point t;
int x, y;
visit[i][j] = false;
visit[startRow][startCol] = true;
while (!queue.isEmpty()) {
t = queue.poll();
if (t.x == endRow && t.y == endCol){
minDistance = t.dis;
x = t.x + dx[i];
y = t.y + dy[i];
visit[x][y] = true;
// Driver code
import com.nastra.hackerrank.util.FastScanner;
public class Encryption {
System.out.println(solve(word));
}
int row = 0;
int col = 0;
while (true) {
if (row >= maxRows) {
row = 0;
col++;
out.append(" ");
}
if (col >= maxCols) {
break;
}
char c = squareCode[row][col];
if (c == '~') {
row++;
continue;
} else {
out.append(c);
}
row++;
}
return out.toString().trim();
}
i--;
if (i != 0) {
result += Long.parseLong(String.valueOf(i) +
number);
}
} else {
int primeIndex = primeList.length - number.length()
+ 1;
int mod = Integer.parseInt(number.substring(0, 2))
% primeList[primeIndex];
String newNumber;
return valid;
}
}
MINIMUM SUM
Don’t know the correctness
public static int minSum(List<Integer> nums, int k) {
maxPq.addAll(nums);
maxPq.add(num);
OR
Some test cases may not pass due to time complexity
function minSum(num, k) {
var sum = 0;
var i = 0;
var firstMaxIndex = 0;
var secondMaxIndex = 1;
if (num.length == 0) {
return 0;
if(num.length == 1) {
num[0] = Math.ceil(num[0]/2);
while (k > 0) {
num[i] = result;
num[j - 1] = num[j];
} else {
break;
num[j - 1] = maxNum;
k--;
}
sum += num[j];
return sum;
OR
package com.be1ive.hackerrank.dp;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.Arrays;
@Override
public int compareTo(Interval that) {
int cmp = Integer.compare(this.b, that.b);
if (cmp == 0) {
return Integer.compare(this.a, that.a);
} else {
return cmp;
}
}
@Override
public String toString() {
return "Line{" +
"a=" + a +
", b=" + b +
'}';
}
}
int T = Integer.parseInt(reader.readLine());
Arrays.sort(I);
int result = 1;
int permitStart = 1;
Interval interval = I[0];
for (int i = 1; i<N; i++) {
if (I[i].a >= permitStart) {
result++;
if (interval.b >= I[i].a) {
permitStart = interval.b + 1;
}
interval = I[i];
}
}
writer.println(result);
}
writer.flush();
writer.close();
}
}
EVEN SUBARRAY
import java.io.*;
class GFG
{
static int countEvenSum(int arr[],
int n)
{
int result = 0;
return (result);
}
// Driver code
public static void main (String[] args)
{
int arr[] = {1, 2, 2,
3, 4, 1};
int n = arr.length;
System.out.println(countEvenSum(arr, n));
}
}
DIVISIBILITY OF STRINGS
Code is in c#. 12/14 test cases passing.
OR
function findSmallestDivisor(s, t) {
return -1;
}
if (Math.max(s.length, t.length) % Math.min(s.length, t.length) === 0 ) {
if (s === t) {
sub = s.slice(s,j);
if (sub.repeat(repeater) === s) {
return sub.length;
} else {
sub = s;
return sub.length;
} else {
if(s.indexOf(t.charAt(0)) == -1) {
return -1;
result = t;
return result.length;
};
} else return -1
}
https://allhackerranksolutionsbykaira.blogspot.com/search/label/HackerRank
https://awesomeopensource.com/project/Java-aid/Hackerrank-Solutions#data-structures
MEANDERING ARRAY
import java.util.Arrays;
Arrays.sort(arr);
int ArrIndex = 0;
i++, j--) {
if(ArrIndex < n)
tempArr[ArrIndex] = arr[i];
ArrIndex++;
if(ArrIndex < n)
tempArr[ArrIndex] = arr[j];
ArrIndex++;
}
}
arr[i] = tempArr[i];
// Driver Code
int arr[] = { 5, 8, 1, 4, 2, 9, 3, 7, 6 };
int n = arr.length;
rearrangeArray(arr, n);
System.out.print(arr[i]+" ");
// force solution.
import java.util.LinkedHashSet;
class GFG
while (n != 0)
int d = n % 10;
// if the digit is present
// number
if (s.contains(d))
return 0;
s.add(d);
n = n / 10;
// no repeated digit
return 1;
// no repeated digit
int answer = 0;
return answer;
}
// Driver Code
System.out.println(calculate(L, R));
import java.io.IOException;
import java.util.Scanner;
//main Method
public static void main(String[] args) throws IOException {
Scanner in = new Scanner(System.in);
int n = Integer.parseInt(in.nextLine().trim());
String[] a = new String[n];
for (int i = 0; i < n; i++) {
a[i] = in.nextLine();
}
int m = Integer.parseInt(in.nextLine().trim());
String[] b = new String[m];
for (int i = 0; i < m; i++) {
b[i] = in.nextLine();
}
ARRAY GAME
PRODUCT SORT
ANOTHER SOLUTION
VOWELS
RESTRUCTURED ARRAY
(another solution also available)
IS IT POSSIBLE
static LinkedList<Pair<Integer,Integer>> pairs = new LinkedList<Pair<Integer, Integer>>();
while (!pairs.isEmpty()){
if(key.equals(c) &&
value.equals(d)){
return "YES";
int sum=key+value;
if (sum<=c){
if (sum<=d){
return "NO";
VOWELS
ANOTHER SOLUTION
AUTOSCALE POLICY
MINIMUM SWAPS
ANOTHER SOLUTION
ARE ALMOST EQUIVALENT
ARRANGING COINS
COUNT DUPLICATE ELEMENTS
ANOTHER SOLUTION
frequency[numbers[i]] = frequency[numbers[i]]+1;
else{
frequency.Add(numbers[i],1);
if(frequency[keys]>1){
result.Add(keys);
return result.Count;
int mileage;
super(false, "4");
this.mileage = mileage;
@Override
String mil=Integer.toString(mileage);
int mileage;
super(true, "4");
this.mileage = mileage;
@Override
String mil=Integer.toString(mileage);
}
class InnovaCrysta extends Car{
int mileage;
super(false, "6");
this.mileage = mileage;
@Override
String mil=Integer.toString(mileage);
}
PRISON BREAK
https://allhackerranksolutionsbykaira.blogspot.com/2020/08/list-inheritance-hackerrank-
solution.html
https://www.homeworklib.com/question/1486956/in-java-6-device-name-system-suggested-
problem
SPORT INHERITANCE
https://www.goeduhub.com/2885/program-inherit-cricketplayer-footballplayer-hockeyplayer
MERGE 2 ARRAYS
CONDENSED LIST
WAYS TO SUM
BALANCED ARRAY
EMPLOYEE IMPLEMENTATION
https://github.com/vadym-usatiuk/Hackerrank-Employee-
Implementation/blob/master/src/Solution.java
WORK SCHEDULE
COUNT OPTIONS
https://leetcode.com/discuss/interview-question/719447/wish-online-assessment-question
CONSTRUCTION MANAGEMENT
IS POSSIBLE
ANOTHER SOLUTION
while (!pairs.isEmpty()){
value.equals(d)){
return "YES";
int sum=key+value;
if (sum<=c){
if (sum<=d){
return "NO";
}
GROUP DIVISION
SORT AN ARRAY
EFFICIENT SHIPPING
THE RESTRUCTURED ARRAY
PRODUCT OF MAXIMUM AND MINIMUM IN A DATA SET