php - php中第二大绝对值形式的数组

标签 php arrays absolute

第二大绝对值形式数组

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

expected answer : 12

这是我的代码

<?php
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 - php中第二大绝对值形式的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52513056/

相关文章:

php - payple完成后如何获取data数据

PHP通过主键返回查询的结果集

javascript - 超出最大更新深度。当组件重复调用 setState 时可能会发生这种情况

python - 从Python文件中读取多行

javascript - 获取原始utf8字符串

php - 拥有 +100 个用户的 Symfony2 网站 = 100% CPU 费用

arrays - 如何在配置单元中分配数组并查找数组的大小?

html - 绝对定位的 div 在相对父级边缘中断

html - 仅根据最大宽度将内容包装在绝对 div 中

html - div位置绝对高度100%