以下是一个PHP函数,可以将给定数组中的每个元素排除,并计算剩余元素的乘积数组:
function excludeCurrentElementProduct($arr) {
$n = count($arr);
$result = array();
// 计算当前元素左侧的乘积
$leftProduct = 1;
for ($i = 0; $i < $n; $i++) {
$result[$i] = $leftProduct;
$leftProduct *= $arr[$i];
}
// 计算当前元素右侧的乘积,并与左侧乘积相乘
$rightProduct = 1;
for ($i = $n - 1; $i >= 0; $i--) {
$result[$i] *= $rightProduct;
$rightProduct *= $arr[$i];
}
return $result;
}
// 示例用法
$arr = array(1, 2, 3, 4, 5);
$result = excludeCurrentElementProduct($arr);
print_r($result);
输出结果为:
Array
(
[0] => 120
[1] => 60
[2] => 40
[3] => 30
[4] => 24
)
以上函数的时间复杂度为O(n),空间复杂度为O(1)。
上一篇:php 求数组平均数
下一篇:如何把php数组传到js中
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站