Gibt bei einem gegebenen Array A von ganzen Zahlen, die in nicht absteigender Reihenfolge sortiert sind, ein neues Array zurück, das aus dem Quadrat jeder Zahl besteht, ebenfalls in nicht absteigender Reihenfolge sortiert. Heute stellt der Herausgeber die Methode zur Implementierung eines geordneten Array-Quadrats in PHP vor. Sie können bei Bedarf darauf zurückgreifen.
Gegeben ist ein Array A von ganzen Zahlen, die in nicht absteigender Reihenfolge sortiert sind. Geben Sie ein neues Array zurück, das aus dem Quadrat jeder Zahl besteht und ebenfalls in nicht absteigender Reihenfolge sortiert ist.
Beispiel 1:
输入:[-4,-1,0,3,10] 输出:[0,1,9,16,100]
Beispiel 2:
输入:[-7,-3,2,3,11] 输出:[4,9,9,49,121]
Problemlösungsidee 1
Eingebaute Funktion. Lösung
Code
class Solution { /** * @param Integer[] $A * @return Integer[] */ function sortedSquares($A) { foreach ($A as &$item) { $item = $item * $item; } sort($A); return $A; }}
Problemlösung ing-Idee 2
Doppelte Zeigerdurchquerung , Gleichzeitig werden mit Hilfe des neuen Arrays die Ergebnisse nach der Berechnung des Quadrats vom größten zum kleinsten in das neue Array eingefügt.
class Solution { /** * * * 2 为自乘 2 次,也是平方 * @param Integer[] $A * @return Integer[] */ function sortedSquares($A) { $ans = []; $i = 0; $j = count($A) - 1; $k = count($A) - 1; while ($i <= $j) { // 原数组是有序的,所以 -$A[$i] > $A[$j] 即为 $A[$i] 的绝对值平方后更大 if (-$A[$i] > $A[$j]) { $ans[$k--] = $A[$i] ** 2; // 左指针向右移动 $i++; } else { $ans[$k--] = $A[$j] ** 2; $j--; } } return $ans; }}
Empfohlenes Lernen: php-Video-Tutorial
Das obige ist der detaillierte Inhalt vonSo implementieren Sie ein Quadrat eines geordneten Arrays in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!