Rotating Array

PHOTO EMBED

Fri May 24 2024 22:47:51 GMT+0000 (Coordinated Universal Time)

Saved by @ayushg103 #c++

    vector<int> v;
        int n=nums.size();
        int f=k%(n);
        int a=n-f;
        for(int i=0;i<n;++i)
        {
            if((a+i)<=(n-1))
            v.push_back(nums[a+i]);
            else
            v.push_back(nums[a+i-nums.size()]);
        }
        nums=v;}
};
content_copyCOPY

Before I used erase function but erase function exceeds time but it is space optimised for(int i=0;i<nums.size()-k;++i) { nums.push_back(nums[0]); nums.erase(nums.begin()); } void rotate(vector<int>& nums, int k) { vector<int> v; int a = k%nums.size(); for(int i=0;i<nums.size()-a;++i) { nums.push_back(nums[i]); } nums.erase(nums.begin(),nums.begin()+a); } T=O(n) then why tle