gpt4 book ai didi

php - 如何在不使用 max 函数的情况下找到数组中最高和第二高的数字

转载 作者:行者123 更新时间:2023-12-05 08:34:30 24 4
gpt4 key购买 nike

我已经有了解决方案。但我认为它会更加可优化。所以请给我一个解决方案。记住不要使用 php 的预定义函数。像 max() 函数。我知道有很多方法可以找到它,但我想要最好和更好的解决方案。因为我的数组包含超过 10 万条记录,而且需要花费很多时间。或者有时网站会关闭。

我的代码:

<?php 

$array = array('1', '15', '2','10',4);

echo "<pre>";
print_r($array);
echo "<pre>";
$max = 0;
$s_max=0;

for($i=0; $i<count($array); $i++)
{
$a = $array[$i];
$tmax = $max;
$ts_max = $s_max;
if($a > $tmax && $a > $ts_max)
{
$max = $a;
if($tmax > $ts_max) {
$s_max = $tmax;
} else {
$s_max = $ts_max;
}
} else if($tmax > $a && $tmax > $ts_max)
{
$max = $tmax;
if($a > $ts_max) {
$s_max = $a;
} else {
$s_max = $ts_max;
}
} else if($ts_max > $a && $ts_max > $tmax)
{
$max = $ts_max;
if($a > $tmax)
{
$s_max = $a;
} else {
$s_max = $tmax;
}
}
}
echo "Max=".$max;
echo "<br />";
echo "S_max=".$s_max;
echo "<br />";

?>

最佳答案

<?php 
$array = array('200', '15','69','122','50','201');
$max_1 = $max_2 = 0;

for ($i=0; $i<count($array); $i++) {
if ($array[$i] > $max_1) {
$max_2 = $max_1;
$max_1 = $array[$i];
} else if ($array[$i] > $max_2 && $array[$i] != $max_2) {
$max_2 = $array[$i];
}
}
echo "Max=".$max_1;
echo "<br />";
echo "Smax 2=".$max_2;

关于php - 如何在不使用 max 函数的情况下找到数组中最高和第二高的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26448786/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com