← クエスト一覧へ

アルゴリズム・データ構造 ガイドブック

🏠

エラー解決

1 記事
1
アルゴリズム問題でよくある落とし穴
❌ 計算量が大きすぎてタイムアウト
# n=100万のデータに二重ループ(O(n²))は時間切れ
for i in range(n):
    for j in range(n):  # これは危険
        ...

✅ 計算量を改善する。ハッシュマップを活用したり、O(n log n)のアルゴリズムに変えると高速化できる。

❌ 再帰の無限ループ
def factorial(n):
    return n * factorial(n - 1)  # ← 基底条件(n=0)がない

✅ 再帰関数には必ず終了条件(基底条件)を書く: if n == 0: return 1

💡 問題を解くアプローチ
  1. まず「力任せ解法(ブルートフォース)」で解く
  2. 制約(n の最大値)を確認して計算量を見積もる
  3. TLEになりそうなら、より効率的なアルゴリズムを考える