Sort by

recency

|

3115 Discussions

|

  • + 0 comments

    java solution

     public static List<Integer> circularArrayRotation(List<Integer> a, int k, List<Integer> queries) {
            // Write your code here
            int n= a.size();
            k%=n;
            reverse(a,0,n-1);
            reverse(a,0,k-1);
            reverse(a,k,n-1);
            List<Integer> result=new ArrayList<>();
            for (int i = 0; i <queries.size() ; i++) {
                result.add(a.get(queries.get(i)));
            }
            return result;
        }
        private static void reverse(List<Integer> a,int start,int end){
            while (start < end){
                int temp=a.get(start);
                a.set(start,a.get(end));
                a.set(end,temp);
                start++;
                end--;
            }
        }
    
  • + 0 comments
    public static List<Integer> circularArrayRotation(List<Integer> a, int k, List<Integer> queries) {
        // Write your code here
    		// Converted List to Array
        int[] answer = a.stream().mapToInt(i->i).toArray();
    		// Right Rotation of list
        while(k>0){
            int first = answer[answer.length-1];
            for(int i=answer.length-1;i>0;i--){
                answer[i] = answer[i-1];
            }
            answer[0] = first;
            k--;
        }
        List<Integer> list = new ArrayList<>();
        for(int i=0;i<queries.size();i++){
            list.add(answer[queries.get(i)]);
        }
        return list;
        }
    
  • + 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;
        }
    
  • + 0 comments

    Python3 Solution:

    def circularArrayRotation(a, k, queries):
        k %= len(a)
         
        res = []
    
        for idx in queries:
            res.append(a[(idx-k)%n])
        
        return r
    
  • + 0 comments

    Here is **circular array rotation solution in Python, java, c++, c and javascript **- https://programmingoneonone.com/hackerrank-circular-array-rotation-problem-solution.html