PHP 内存超出限制


Php memory exceed limit

最近我参加了一个编程竞赛,关于这个问题。当我尝试提交时,在某些测试用例中,我的内存超出限制。我没有测试用例和问题,因为比赛已经结束。问题是这样的。

您被要求帮助一家公司减少求职面试的候选人人数。如果任何候选人具有CGPA,经验数量和考试成绩,以免其他候选人被拒绝。查找被拒绝的候选人人数


输入将来自命令行。像这样的东西,
第一行将有一个整数。是候选 n 的数量。
第二行将有 n 个用空格分隔的整数,表示每个候选项的 CGPA。
第三行将有 n 个用空格分隔的整数,表示每个候选人的体验。
第四行将有 n 个用空格分隔的整数表示每个候选者的测试核心。

示例输入

四1 3 5 6
6 2 6 1
1 2 3 4

示例输出


1

因为只有候选 2 具有所有 3 值减去作为候选 3 的另一个候选项。候选人 1 的经验数量等于候选人 3,这被认为是可以

这是我的代码,只是想知道是否有人知道如何减少内存使用。

<?php
$input = fopen('php://stdin', 'r');
$numberOfPeople = intval(fgets($input));
$numberOfCGA = explode(' ', trim(preg_replace('/'s+/', ' ', fgets($input))));
foreach( $numberOfCGA as $key => $num )
{
    $numberOfCGA[$key] = intval($num);
}
$numberOfExp = explode(' ', trim(preg_replace('/'s+/', ' ',    fgets($input))));
foreach( $numberOfExp as $key => $num )
{
    $numberOfExp[$key] = intval($num);
}
$numberOfScore = explode(' ', trim(preg_replace('/'s+/', ' ', fgets($input))));
foreach( $numberOfScore as $key => $num )
{
    $numberOfScore[$key] = intval($num);
}
$numOfReject = 0;
for( $i = 0; $i < $numberOfPeople; $i++ )
{
    for( $j = 0; $j < $numberOfPeople; $j++ )
    {
        if( $i == $j ) continue;
        if( ( intval($numberOfCGA[$i]) < intval($numberOfCGA[$j]) )
            && ( intval($numberOfExp[$i]) < intval($numberOfExp[$j]) )
            && ( intval($numberOfScore[$i]) < intval($numberOfScore[$j]) ) )
        {
            $numOfReject++;
            break;
        }
    }
}
echo $numOfReject . PHP_EOL;

如果你增加你的php内存怎么办?有关详细信息,请参阅 http://tutorials.hostucan.net/how-to-increase-php-memory-limit/。

另请查看:PHP preg_replace() - 内存问题。另类?