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

So implementieren Sie ein Quadrat eines geordneten Arrays in PHP

醉折花枝作酒筹
醉折花枝作酒筹nach vorne
2021-07-08 15:46:131952Durchsuche

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]

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:hxd.life. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen