• + 0 comments

    public static List dynamicArray(int n, List> queries) { // Write your code here List> arr = new ArrayList<>(); for (int i = 0; i < n; i++) { arr.add(new ArrayList<>()); }

        List<Integer> result = new ArrayList<>();
        int lastAnswer = 0;
    
        for (List<Integer> query : queries) {
            int queryType = query.get(0);
            int x = query.get(1);
            int y = query.get(2);
    
            // Calculate index using (x XOR lastAnswer) % n
            int idx = (x ^ lastAnswer) % n;
    
            if (queryType == 1) {
                // Append y to the arr[idx]
                arr.get(idx).add(y);
            } else if (queryType == 2) {
                // Retrieve element at position y % size of arr[idx]
                int value = arr.get(idx).get(y % arr.get(idx).size());
                lastAnswer = value;
                result.add(lastAnswer);
            }
        }
    
        return result;
    }