0Pricing
Coding Interview Prep · レッスン

10^8 の経験則

演算回数を制限時間に当てはめます

「10^8 の経験則」はCoddyKit上の無料Coding Interview Prepレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCoding Interview Prep学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Coding Interview Prepコースには全4レッスンが含まれています。

魔法の予算

一般的なオンラインジャッジは、1秒あたり約10^8回の単純な操作を実行できます。この数値が、プログラム全体で使える処理量の目安です。💡

ステップ数を秒数に換算する

操作回数に1ステップあたりの処理量を掛け、その結果を制限時間と比較します。ステップ数が予算内に収まれば、通過できる可能性が高いでしょう。

線形時間は余裕がある

n = 10^6 に対する O(n) の走査は、わずか100万ステップで、予算を大きく下回ります。線形解法なら、ほとんどの場合、十分な余裕を持って通過できます。

n log n なら安全

n = 10^6 の場合、O(n log n) のソートは約 2 × 10^7 ステップです。1秒の予算内に十分収まるため、ソートがボトルネックになることはほとんどありません。

二次時間には上限がある

O(n^2) の方法は、10^8ステップになる n = 10^4 付近で予算に達します。それを超えると、二次時間の処理は時間切れになり始めます。

三次時間は小さい n でのみ使える

O(n^3) の解法で処理できるのは、n が約500までです。500を3乗するとおよそ10^8ステップとなり、予算の限界に達します。

指数時間は小さい n に限る

O(2^n) はステップごとに2倍になるため、n が20〜25程度の小さい場合にしか使えません。それを超えると、操作回数は10^8をはるかに超えて急増します。

Python には処理の負担がある

Python は1ステップあたりの処理が遅いため、タイトなループでは予算を10^7程度と考えてください。制約がぎりぎりに見える場合は、余裕を持って判断しましょう。

隠れた定数倍に注意する

10^8という目安は単純なステップを数えたものです。文字列の構築など、ループ内で重い処理を行うと定数倍が増え、実際に使える予算は小さくなります。

制限時間を確認する

制限時間は1秒または2秒であることが多いです。2秒の制限時間なら、予算はおおよそ2倍になり、少し余裕が増えます。

入力する前に見積もる

まず n を計算量の式に代入し、10^8と比較してください。この簡単な妥当性チェックを行えば、最初から通らない解法を実装せずに済みます。

確認問題

10^8のルールを実際に使ってみましょう。

復習

操作回数を時間に換算できるようになりました。目安は1秒あたり約10^8回です。線形時間と n log n は安全で、二次時間は n = 10^4 付近が上限です。コーディング前に確認しましょう。✅

よくある質問

「10^8 の経験則」レッスンは無料ですか?

はい。「10^8 の経験則」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Coding Interview Prepコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Coding Interview Prepコースには全4レッスンが含まれています。

「10^8 の経験則」で何を学びますか?

演算回数を制限時間に当てはめます ブラウザで直接実行するハンズオンコードでCoding Interview Prepを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Coding Interview Prepを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのCoding Interview Prepは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「10^8 の経験則」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このCoding Interview Prepレッスンでコードを書いて実行できますか?

はい。すべてのCoding Interview Prepレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. Big-O で演算回数を数える
  2. 10^8 の経験則
  3. 制約を読み、計算量を選ぶ
  4. TLE が起きる理由と見つけ方
← Coding Interview Prepに戻る