Heim >Backend-Entwicklung >C++ >Gibt die Linksrotation des Arrays in einem C-Programm mit O(n)-Zeitkomplexität und O(1)-Raumkomplexität aus
Angesichts eines Arrays der Größe n und mehrerer ganzzahliger Werte müssen wir das Array beginnend mit dem angegebenen Index k drehen.
Wir möchten das Array beginnend mit Index k wie unten gezeigt drehen – 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 i<n and i++ Print arr[(cal+i)%n] End Step 2 -> In 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
#include <bits/stdc++.h> using 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 << "</p><p>"; } 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; }
Wenn wir das obige Programm ausführen, wird die folgende Ausgabe generiert
2 3 4 1 3 4 1 2 4 1 2 3
Das obige ist der detaillierte Inhalt vonGibt die Linksrotation des Arrays in einem C-Programm mit O(n)-Zeitkomplexität und O(1)-Raumkomplexität aus. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!