【问题标题】:Solution for Missing integer problem of codility in php 100% scorephp 100% 分数中缺少整数问题的解决方案
【发布时间】:2022-07-17 22:23:05
【问题描述】:

在 PHP 中,对于缺少编码的整数问题,最好的实现是什么?

解决方案低于 66%,导致性能问题。

function solution($A)
{
    sort($A);
    $end = count($A);
    $flag = false;
    for ($k = 0; $flag == false; $k++, $flag = false) {
        for ($i = 0; $i < $end; $i++) {
            if ($k + 1 == $A[$i]) {
                $flag = $A[$i];
                break;
            }
        }
        if($flag == false){
            return $k +1;
        }
    }
}

【问题讨论】:

    标签: php algorithm integer


    【解决方案1】:

    这是用 PHP 实现的编码问题的最佳解决方案,得分 100%

    function solution($A)
    {
        sort($A);
        $end = count($A);
        $flag = false;
        for ($k = 1, $i = 0; $i < $end; $i++) {
          if ($A[$i] == $k) {
            $k++;
            continue;
          } elseif ($A[$i] < $k)
            continue;
          else return $k;
          }
          return $k;
        }
    

    【讨论】:

      【解决方案2】:

      使用关联数组作为集合的简单解决方案:

      function solution($A) {
          $set = array_flip($A);
          for ($n = 1; ; ++$n) {
              if (!isset($set[$n])) {
                  return $n;
              }
          }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-10-24
        • 1970-01-01
        • 2016-09-20
        • 2019-09-20
        • 1970-01-01
        • 2010-10-29
        相关资源
        最近更新 更多