PHPで順序付き配列の2乗を実装する方法

醉折花枝作酒筹
リリース: 2023-03-11 10:58:01
転載
1921 人が閲覧しました

非降順でソートされた整数の配列 A を指定すると、各数値の 2 乗で構成される新しい配列が返されます。これも非降順でソートする必要があります。今回は、PHPで順序配列の2乗を実現する方法を編集者が紹介しますので、必要な方は参考にしてください。

PHPで順序付き配列の2乗を実装する方法

非降順でソートされた整数の配列 A を指定すると、同様に非降順でソートされた各数値の 2 乗で構成される新しい配列が返されます。

例 1:

输入:[-4,-1,0,3,10] 输出:[0,1,9,16,100]
ログイン後にコピー

例 2:

输入:[-7,-3,2,3,11] 输出:[4,9,9,49,121]
ログイン後にコピー

ソリューションのアイデア 1

組み込み関数ソリューション

コード

class Solution { /** * @param Integer[] $A * @return Integer[] */ function sortedSquares($A) { foreach ($A as &$item) { $item = $item * $item; } sort($A); return $A; }}
ログイン後にコピー

ソリューションのアイデア 2

ダブル ポインター トラバーサルと新しい配列の助けを借りて、平方計算後、結果は新しい配列に大きいものから小さいものへと配置されます。

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; }}
ログイン後にコピー

推奨学習:php ビデオ チュートリアル

以上がPHPで順序付き配列の2乗を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
php
ソース:hxd.life
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!