Heim > Backend-Entwicklung > PHP-Problem > So implementieren Sie ein Quadrat eines geordneten Arrays in PHP

So implementieren Sie ein Quadrat eines geordneten Arrays in PHP

醉折花枝作酒筹
Freigeben: 2023-03-11 10:58:01
nach vorne
2089 Leute haben es durchsucht

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.

So implementieren Sie ein Quadrat eines geordneten Arrays in PHP

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]
Nach dem Login kopieren

Beispiel 2:

输入:[-7,-3,2,3,11]
输出:[4,9,9,49,121]
Nach dem Login kopieren

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;
    }}
Nach dem Login kopieren

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;
    }}
Nach dem Login kopieren

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!

Verwandte Etiketten:
php
Quelle:hxd.life
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage