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.
Loading...
  • Practice
  • Compete
  • Jobs
  • Leaderboard
  1. Practice
  2. Data Structures
  3. Arrays
  4. Left Rotation
  5. Discussions

Left Rotation

  • Problem
  • Submissions
  • Leaderboard
  • Discussions
  • Editorial

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

  • rohan565singh 3 years ago+ 2 comments

    I have the exactly same problem. Did anyone figure out why?

    3|
    ParentPermalink
    • Alexbrc 3 years ago+ 0 comments

      I don't particularly know what test case 8 is exactly, but I would assume that this test case has set the input parameters of n and d to be very large. If you look at the constraints on n, then you will see that n can be as large as 10,000 and d also can be as large as n. With an approach that manually shifts the array one by one a certain amount of times can lead to a lot of work. Possibly shifting all 10,000 elements to the left 10,000 times racks up to a lot of work. You would have to shift something up to 10,000,000,000 times in this scenario. That is a lot of work and would most likely be the reason the test case times out before finishing.

      7|
      ParentPermalink
    • atulb7777 3 years ago+ 3 comments

      I did solve it! It was proably beacuse of the nested loops! they take more time to run!

      1|
      ParentPermalink
      • roGue_warRior 2 years ago+ 0 comments

        which is known as complexity

        0|
        ParentPermalink
      • noahlbw 2 years ago+ 1 comment

        how did you solve it ?

        0|
        ParentPermalink
        • roGue_warRior 2 years ago+ 2 comments

          Its easy man i cant figure out the last test case though !!

          1.Input an array of size n 2.Input number of rotations as r 3. r=r%n -> it reduces the number of repeatative rotations thus decreasing the complexity of our code . suppose the size of the array is 3 and number of rotations is also 3 then our loop wont run it will simply print the same elements .

          1. take a temperory variable and store the leftmost element in it i.e a[o]
          2. Now run the loop from 0 to second last element of the array 6.a[i]=a[i+1] -> shifts the element towards left for eg. for i=0 a[0]=a[1]; it shifts all the elements towards left 7.now simply store the first element in temp variable to the last position.
          3. steps 4 to 7 for first rotation now while loop will run as per the given number of rotations these steps will be repeated until r becomes 0.
          4. At last display the elements in the array.

          :)

          1|
          ParentPermalink
          • pratik9044536615 2 years ago+ 1 comment

            Man i have better version of solution. See my code.

            vector array_left_rotation(vector a, int n, int k) { rotate(a.begin(),a.begin()+k,a.end()); return a; }

            int main(){ int n; int k; cin >> n >> k; vector a(n); for(int a_i = 0;a_i < n;a_i++){ cin >> a[a_i]; } vector output = array_left_rotation(a, n, k); for(int i = 0; i < n;i++) cout << output[i] << " "; cout << endl; return 0; }

            1|
            ParentPermalink
            • shubh_aagman24 2 years ago+ 0 comments

              chup.. space dedeta kuch to

              0|
              ParentPermalink
          • guleriasahil86 6 months ago+ 0 comments

            Doesn't work for 8th test case

            0|
            ParentPermalink
      • shockwave97 2 years ago+ 1 comment

        how did u solve??

        0|
        ParentPermalink
        • shafagh 2 years ago+ 1 comment

          Keep in mind a left rotation of x is equal to (len-x) of righ rotations. Hence, it would be more efficient to the rotation with least amount of "moves".

          1|
          ParentPermalink
          • crystalcode 2 years ago+ 1 comment

            Thats true. I got accepted for test case 8 using right rotation. We need to choose :

            If #rotations < (size /2) Use Left Rotation If #rotations > (size /2) Use Right Rotation

            0|
            ParentPermalink
            • RA16110080543 1 month ago+ 0 comments

              can you elaborate @crystalcode

              0|
              ParentPermalink
  • Contest Calendar
  • Blog
  • Scoring
  • Environment
  • FAQ
  • About Us
  • Support
  • Careers
  • Terms Of Service
  • Privacy Policy
  • Request a Feature