PHP에서 순서 배열의 제곱을 구현하는 방법

醉折花枝作酒筹
풀어 주다: 2023-03-11 10:58:01
앞으로
1933명이 탐색했습니다.

비감소순으로 정렬된 정수 배열 A가 주어지면, 역시 비감소순으로 정렬된 각 숫자의 제곱으로 구성된 새 배열을 반환합니다. 오늘은 에디터가 PHP에서 순서배열의 제곱을 구현하는 방법을 소개하겠습니다. 필요하시면 참고하시면 됩니다.

PHP에서 순서 배열의 제곱을 구현하는 방법

비감소순으로 정렬된 정수 배열 A가 주어지면, 역시 비감소순으로 정렬된 각 숫자의 제곱으로 구성된 새 배열을 반환합니다.

예 1:

输入:[-4,-1,0,3,10] 输出:[0,1,9,16,100]
로그인 후 복사

예 2:

输入:[-7,-3,2,3,11] 输出:[4,9,9,49,121]
로그인 후 복사

문제 해결 아이디어 1

내장 기능 솔루션

Code

class Solution { /** * @param Integer[] $A * @return Integer[] */ function sortedSquares($A) { foreach ($A as &$item) { $item = $item * $item; } sort($A); return $A; }}
로그인 후 복사

문제 해결 아이디어 2

이중 포인터 탐색 , 동시에 new Array의 도움으로 제곱을 계산한 후 결과를 가장 큰 것부터 가장 작은 것 순으로 새 배열에 넣습니다.

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에서 순서 배열의 제곱을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
php
원천:hxd.life
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!