Wir schreiben ein JavaScript-Programm, um das m-te Element eines k-mal rechtsgedrehten Arrays zu finden. Zuerst nehmen wir die Eingabe der Arrays m und k. Wir werden dann eine Schleife verwenden, um die richtige Drehung durchzuführen. Bei jedem Durchlauf der Schleife verschieben wir das letzte Element des Arrays an die erste Position. Wir werden diese Schleife k-mal fortsetzen, um das gedrehte Array zu erhalten. Abschließend geben wir als Ergebnis das m-te Element des gedrehten Arrays zurück.
Die Methode zum Finden des m-ten Elements nach k-maliger Rechtsdrehung des Arrays kann wie folgt zerlegt werden -
Berechnen Sie die tatsächliche Position des m-ten Elements nach k Drehungen, d. h. (m-k) % n, wobei n die Länge des Arrays ist.
Überprüfen Sie, ob die berechnete Position negativ ist. In diesem Fall kann sie durch Hinzufügen von n in eine positive Position umgewandelt werden.
Gibt das Element an der berechneten Position im Array zurück.
Um diese Lösung zu optimieren, können Sie den Modulo-Operator verwenden, um die berechnete Position innerhalb des Bereichs des Arrays zu halten, sodass Sie nicht nach negativen Werten suchen müssen.
Die zeitliche Komplexität dieser Lösung beträgt O(1), da die Berechnung der endgültigen Position und das Abrufen des Elements an dieser Position konstante Zeitoperationen sind.
Die Raumkomplexität beträgt O(1), da in der Lösung keine zusätzlichen Datenstrukturen verwendet werden.
Dies ist ein Beispiel für ein JavaScript-Programm, das das m-te Element findet, nachdem ein Array k-mal nach rechts gedreht wurde
function findElement(arr, k, m) { k = k % arr.length; // handling large k values return arr[(arr.length - k + m - 1) % arr.length]; } let arr = [1, 2, 3, 4, 5]; let k = 2; let m = 3; console.log(findElement(arr, k, m));
findElement akzeptiert ein Array arr, die Anzahl der Umdrehungen k und das m-te zu findende Element. p>
k = k % arr.length berechnet die tatsächliche Anzahl der Umdrehungen, die auf dem Array ausgeführt werden, nachdem große k-Werte verarbeitet wurden. Dies geschieht, weil das Drehen des Arrays über seine Länge hinaus seine Position nicht ändert. Wenn wir also k Modulo der Array-Länge nehmen, erhalten wir die tatsächliche Anzahl der durchgeführten Drehungen.
Linie return arr[(arr.length - k + m - 1) % arr.length];Berechnen Sie die Position des m-ten Elements nach k Umdrehungen. Der Ausdruck arr.length - k gibt die Startposition des Arrays nach k Drehungen an, dann + m - 1 gibt die Position des m-ten Elements an und schließlich stellt die Modulo-Annahme der Array-Länge sicher, dass die Position umbrochen wird das Ende des Arrays, wenn es außerhalb des Bereichs liegt.
Abschließend ruft das Programm die Funktion findElement auf und zeichnet das Ergebnis auf. In diesem Beispiel beträgt die Ausgabe 4.
Das obige ist der detaillierte Inhalt vonDas JavaScript-Programm findet das M-te Element, nachdem es das Array K-mal nach rechts gedreht hat. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!