php获取数组第二大值,php中第二大绝对值表单数组

第二大绝对值形式数组

input : array(13, -12, 8, 2, 5)

expected answer : 12

这是我的代码

function print2largest($arr, $arr_size)

{

if ($arr_size < 2)

{

echo(" Invalid Input ");

return;

}

$first = $second = PHP_INT_MIN;

for ($i = 0; $i < $arr_size ; $i++)

{

if ($arr[$i] > $first)

{

$second = $first;

$first = $arr[$i];

}

else if ($arr[$i] > $second &&

$arr[$i] != $first)

$second = $arr[$i];

}

if ($second == PHP_INT_MIN)

echo("There is no second largest element\n");

else

echo("The second largest element is " . $second . "\n");

}

$arr = array(13, -12, 8, 2, 5);

$n = sizeof($arr);

print2largest($arr, $n);

?>

output i got : 8

解决方法:

它可以通过“php-way”轻松完成:

$arr = array(13, -12, 8, 2, 5);

$absoluteArr = array_map('abs', array_unique($arr));

rsort($absoluteArr);

echo $absoluteArr[1];

标签:php,arrays,absolute

来源: https://codeday.me/bug/20190713/1452919.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值