Dynamic Array | HackerRank

  • Declare a 2-dimensional array, , with empty arrays, all zero-indexed.
  • Declare an integer, , and initialize it to 0.

You need to process two types of queries:

  1. Query:

    • Compute .
    • Append the integer to .
  2. Query:

    • Compute .
    • Set .
    • Store the new value of in an answers array.

Notes:
- is the bitwise XOR operation, which corresponds to the ^ operator in most languages. Learn more about it on Wikipedia.
- is the modulo operator.
- Finally, is the number of elements in .

Function Description

Complete the function with the following parameters:
- : the number of empty arrays to initialize in
- : 2-D array of integers

Returns

  • : the results of each type 2 query in the order they are presented

Input Format

The first line contains two space-separated integers, , the size of to create, and , the number of queries, respectively.
Each of the subsequent lines contains a query string, .

Constraints

  • It is guaranteed that query type will never query an empty array or index.

Sample Input

STDIN    Function
-----    --------
2 5      size of arr[] n = 2, size of queries[] q = 5
1 0 5    queries = [[1,0,5],[1,1,7],[1,0,3],[2,1,0],[2,1,1]]
1 1 7
1 0 3
2 1 0
2 1 1

Explanation

Initial Values:


= [ ]
= [ ]

Query 0: Append to .

= [5]
= [ ]

Query 1: Append to .
= [5]
= [7]

Query 2: Append to .

= [5, 3]
= [7]

Query 3: Assign the value at index of to . Store in your answer array.
= [5, 3]
= [7]

Query 4: Assign the value at index of to . Store in your answer array.
= [5, 3]
= [7]

Return your answer array [7, 3]. The code stub prints its elements on separate lines.