给定一个大小为 n 的数组和多个整数值,我们需要从给定索引 k 开始旋转数组。
我们希望从索引 k 开始旋转数组,如下所示 - p>

示例
Input: arr[] = {1, 2, 3, 4, 5}
K1 = 1
K2 = 3
K3 = 6
Output:
2 3 4 5 1
4 5 1 2 3
2 3 4 5 1算法
START Step 1 -> Declare function void leftRotate(int arr[], int n, int k) Declare int cal = k% n Loop For int i=0 and iIn main() Declare array a[]={ 1,2,3,4} Declare int size=sizeof(a)/sizeof(a[0]) Declare int k=1 Call leftRotate(a, size, k) Set k=2 Call leftRotate(a, size, k) Set k=3 leftRotate(a, size, k) STOP
示例
#includeusing namespace std; void leftRotate(int arr[], int n, int k){ int cal = k % n; for (int i = 0; i < n; i++) cout << (arr[(cal + i) % n]) << " "; cout << " "; } int main(){ int a[] = { 1,2,3,4}; int size = sizeof(a) / sizeof(a[0]); int k = 1; leftRotate(a, size, k); k = 2; leftRotate(a, size, k); k = 3; leftRotate(a, size, k); return 0; }
输出
如果我们运行上面的程序,那么它将生成以下输出
2 3 4 1 3 4 1 2 4 1 2 3











