• + 0 comments
    public static List<Integer> circularArrayRotation(List<Integer> a, int k, List<Integer> queries) {
            int size = a.size();
            k = k % size;
            List<Integer> result = new ArrayList<>(size);
            for (Integer index : queries) {
                result.add(a.get(getIndexRotate(index, k, size)));
            }
            return result;
        }
        
        public static int getIndexRotate(int i, int k, int n){
            return ((i - k) + n) % n;
        }