We use cookies to ensure you have the best browsing experience on our website. Please read our cookie policy for more information about how we use cookies.
  • Practice
  • Certification
  • Compete
  • Career Fair
  • Hiring developers?
  1. Practice
  2. Algorithms
  3. Implementation
  4. Circular Array Rotation
  5. Discussions

Circular Array Rotation

Problem
Submissions
Leaderboard
Discussions
Editorial

    You are viewing a single comment's thread. Return to all comments →

  • NiceBuddy 3 years ago+ 0 comments

    simpler one:

    #include <iostream>
    #include <vector>
    #include <algorithm>
    #include <iterator>
    
    int main()
    {
        int n; std::cin >> n; // array size
        int k; std::cin >> k; //no of rotations
        int q; std::cin >> q;
    
        std::vector<int> vec;
        vec.reserve(n);
        std::copy_n(std::istream_iterator<int>(std::cin), 
                    n, back_inserter(vec));
        k %= n;
        k = n-k;
        std::rotate(vec.begin(), vec.begin()+k,vec.end());
    
        while(q--)
        {
            int index; std::cin >> index;
            std::cout << vec[index]  << std::endl;
        }
        return 0;
    }
    
    4|
    ParentPermalink
  • Contest Calendar
  • Blog
  • Scoring
  • Environment
  • FAQ
  • About Us
  • Support
  • Careers
  • Terms Of Service
  • Privacy Policy
  • Request a Feature