PHPのコードの最適化

実現したいこと

PHPにて配列の結合の際、ランタイムエラーが発生する問題を解消したいです。

前提

paizaの練習問題の復習をしている。
一つ一つの入力例では正解するが、コードを提出してチェックするとランタイムエラーが発生する。
配列の結合処理時に問題がある様子。

該当のソースコード

php

1<?php2function sInput(): string3{4 $input = trim(fgets(STDIN));5 return str_replace(["\r\n", "\r", "\n"], '', $input);6}7 8$n = sInput();9 10$days = [];11for ($i = 0; $i < $n; $i++) {12 $input = sInput();13 $data = explode(' ', $input);14 $min = (int)$data[0];15 $max = (int)$data[1];16 $array = range($data[0], $data[1]);17 18 // ここが問題の箇所19 $days[] = array_merge($days, $array);20}21$days = array_unique($days);

試したこと

  • array_merge($days, $array)

...ランタイムエラー(テスト1件当たり7-9秒)

  • [...$days, ...$array];

...タイムオーバー

  • foreach ($array as $a) { $days[] = $a;}

...ランタイムエラー(テスト1件当たり0.5-0.6秒)

コメントを投稿

0 コメント