Rotate Array
<-E 189> Rotate Array
// Method 1
class Solution {
public:
void rotate(vector<int>& nums, int k) {
k%=nums.size();
reverse(nums.begin(),nums.end());
reverse(nums.begin(),nums.begin()+k);
reverse(nums.begin()+k,nums.end());
}
};
// Method 2
class Solution {
public:
void rotate(vector<int>& nums, int k) {
k=k%nums.size();
int p=0;
for(int i=0;i<k&&p<nums.size();i++)
{
int f=0;
int j=i;
int temp=nums[i];
do{
j=(j+k)%nums.size();
int x=nums[j];
nums[j]=temp;
temp=x;
p++;
}while(j!=i);
// p++;
}
}
};