計算量を最適化すべきですか

学習の進め方

1回目の提出では、計算量を気にせず総当たりで解くことをおすすめします。総当たりで解く場合と最適化する場合とでは、難しさがまったく違うためです。

まず自分の力で解く

最適なコードを写して理解しても、自分でロジックを組み立てられるようにはなりません。遠回りでも、自分の手で解いてください。

解けたあとに最適化する

合格したあとに、同じ問題をもう一度考えてみてください。よくあるのは次の置き換えです。

  • 配列の中を毎回探しているなら、ハッシュマップに置き換える
  • 同じ計算を繰り返しているなら、結果を保存して使い回す
  • 二重のループで全ての組み合わせを見ているなら、一度の走査で済まないか考える

コードは少し複雑になりますが、計算量は大きく減ります。この差を体感しておくと、実際の開発で判断できるようになります。

タイムアウトする場合

入力が大きくなると通らない場合は、最適化が必要です。タイムアウトやスタックオーバーフローになりますを参照してください。

学習中のコードやエラーはAIに聞けます

書いたコードがなぜ動かないのか、エラーが何を指しているのかを、その場で質問できます。AIチャットとAIコードレビューは有料会員向けの機能です。

料金プランを見る

無料でもヒントと解答解説は利用できます。