Dynamic Array – HackerRank Solution Java , Python 3, Python 2 , C , C++, Best and Optimal Solutions , All you need.
Solutions of Algorithms Data Structures Hard HackerRank:
Here are all the Solutions of Hard , Advanced , Expert Algorithms of Data Structure of Hacker Rank , Leave a comment for similar posts
1 Month Preparation Kit Solutions – HackerRank
C++ Dynamic Array HackerRank Solution
#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int N = 0, Q = 0;
int lastans = 0;
int type, x, y;
int seq = 0;
int pos;
cin >> N >> Q;
vector < vector <int>> a(N);
for (int i = 0; i < Q; i ++) {
cin >> type >> x >> y;
seq = ((x ^ lastans) % N);
// cout << seq << endl;
if (type == 1) {
a[seq].push_back(y);
// cout << (seq) << " <-- " << y << endl;
}
else if (type == 2) {
pos = (y % a[seq].size());
//cout << "pos " << pos << endl;
lastans = a[seq][pos];
cout << lastans << endl;
}
}
return 0;
}
Java Dynamic Array HackerRank Solution
import java.io.*;
import java.util.*;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
ArrayList<ArrayList<Integer>> lists = new ArrayList<ArrayList<Integer>>(n);
for (int i = 0; i < n; i++) {
lists.add(new ArrayList<Integer>());
}
int q = sc.nextInt();
int lastans = 0;
for (int i = 0; i < q; i++) {
if (sc.nextInt() == 1) {
lists.get((sc.nextInt() ^ lastans) % n).add(sc.nextInt());
}
else {
ArrayList<Integer> l = lists.get((sc.nextInt() ^ lastans) % n);
lastans = l.get(sc.nextInt() % l.size());
System.out.println(lastans);
}
}
}
}
Python 3 Dynamic Array HackerRank Solution
a = input().split(' ')
N, Q = [int(e) for e in a]
arrays = [[] for _ in range(N)]
lastans = 0
def insert(x, y):
global lastans
arrays[(x ^ lastans) % N].append(y)
def printnum(x, y):
global lastans
inst = arrays[(x ^ lastans) % N]
lastans = inst[y % len(inst)]
print(lastans)
for i in range(Q):
line = [int(e) for e in input().split(' ')]
insert(line[1], line[2]) if line[0] == 1 else printnum(line[1], line[2])
JavaScript Dynamic Array HackerRank Solution
function processData(input) {
//Enter your code here
var lines = input.split('\n');
var NQ = lines[0].split(' ').map(Number);
var N = NQ[0];
var Q = NQ[1];
var lastans = 0;
var sequences = [];
for (var i = 0; i <= N; i++) {
sequences[i] = [];
}
lines.slice(1).forEach(function (line) {
var query = line.split(' ').map(Number);
var x = query[1];
var y = query[2];
if (query[0] === 1) {
var sequenceNum = (x ^ lastans) % N;
sequences[sequenceNum].push(y);
} else if (query[0] === 2) {
var sequenceNum = (x ^ lastans) % N;
var size = sequences[sequenceNum].length;
var element = sequences[sequenceNum][y % size];
console.log(element);
lastans = element;
}
});
}
process.stdin.resume();
process.stdin.setEncoding("ascii");
_input = "";
process.stdin.on("data", function (input) {
_input += input;
});
process.stdin.on("end", function () {
processData(_input);
});
C Dynamic Array HackerRank Solution
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct Seq_ {
int *dat;
int sz;
} Seq;
Seq seq[100001];
void insert(int n, int y) {
seq[n].dat = realloc(seq[n].dat, seq[n].sz += 1);
seq[n].dat[seq[n].sz-1] = y;
}
int print(int n, int y) {
int t = seq[n].dat[y % seq[n].sz];
printf("%d\n", t);
return t;
}
int main() {
FILE *f = stdin;
int n, q;
fscanf(f, "%d %d", &n, &q);
int lastans = 0;
for (int i = 0; i < q; i++) {
int op, x, y;
fscanf(f, "%d %d %d", &op, &x, &y);
int seq = (x ^ lastans) % n;
if (op == 1)
insert(seq, y);
else // op == 2
lastans = print(seq, y);
}
return 0;
}
Leave a comment below