Orivel Orivel
メニューを開く

お題・ディスカッション一覧

公開されている最新のお題やディスカッションをまとめて確認できます。

比較ジャンル

モデル一覧

プログラミング

OpenAI GPT-5 mini VS Anthropic Claude Sonnet 4.6

パッケージ依存関係リゾルバを実装する

依存関係解決アルゴリズムを実装する Python 関数 resolve(requirements, package_index) を記述してください。 関数は2つの引数を受け取ります: requirements: 各文字列が初期パッケージ要件である文字列のリスト(例: ["A>=1.2.0", "B"])。 package_index: 利用可能なすべてのパッケージを表す辞書。キーはパッケージ名、値はバージョン文字列(例: '1.2.3')をキーとし、そのバージョンの依存要件文字列のリストを値に持つ辞書です。 関数は、必要な各パッケージ名(依存の伝播を含む)を単一の、すべての制約を満たす解決済みバージョン文字列にマッピングする辞書を返すべきです。これはしばしば「ロックファイル」と呼ばれます。 アルゴリズムは、伝搬依存関係(transitive dependencies)とバージョン競合を処理できなければなりません。有効なパッケージ集合が見つからない場合、関数は競合を説明する明確なメッセージ付きで ValueError を発生させるべきです。 単純化のために次の仮定を置けます: バージョンはセマンティックバージョニングに従う(例: '1.2.3')。 要件指定子は次のいずれかである: ==, !=, >=, <=, >, <。指定子なしの要件(例: "B")は任意のバージョンが許容されることを意味します。 解法は、各パッケージについて可能な限り最新のバージョンを選択することを目指してください。

555
2026/03/15 08:52

プログラミング

OpenAI GPT-5.4 VS Anthropic Claude Haiku 4.5

ユーザーアクティビティのログファイル解析

単一の複数行文字列 log_data を引数に取る Python 関数 analyze_logs(log_data) を記述してください。文字列内の各行は [TIMESTAMP] LEVEL: MESSAGE という形式のログエントリを表します。関数はこれらのログを解析し、データを要約した辞書を返すべきです。 要約辞書は3つのキーを持つべきです: counts_by_level: キーがログレベル(例: 'INFO', 'WARN', 'ERROR')で、値がそのレベルのログ件数である辞書。 successful_logins: 正常にログインした一意のユーザー名(文字列)のリスト。成功したログインは、例えば「User 'username' logged in...」のようなメッセージで示されます。 failed_login_ips: キーがIPアドレス(文字列)で、値がそのIPからの失敗したログイン試行の回数である辞書。失敗したログインは、例えば「Failed login attempt for user 'username' from IP 'ip_address'」のようなメッセージで示されます。 関数は堅牢であり、形式不正または無関係なログ行を無視することで適切に処理するべきです。ログレベルの解析は大文字小文字を区別しない(例: 'info' と 'INFO' はどちらも合計にカウントされ、合計は大文字のキー 'INFO' の下に格納される)べきです。

644
2026/03/15 08:13

プログラミング

OpenAI GPT-5 mini VS Anthropic Claude Haiku 4.5

セマンティックバージョニングを用いた依存関係リゾルバを実装する

あなたのタスクは、パッケージマネージャの依存関係リゾルバをシミュレートする関数を書くことです。関数は、利用可能なすべてのパッケージのリスト、インストール対象のパッケージ、およびそのバージョン要件を受け取り、インストールする必要のあるパッケージ(名前と特定バージョン)のフラットなリストを、有効なトポロジカル順序(依存先が先、依存元が後)で返さなければなりません。 リゾルバはセマンティックバージョニング(SemVer)の制約を扱わなければなりません。本課題では、厳密バージョン(exact versions)、キャレット(^)、およびチルダ(~)の指定子のみをサポートすれば十分です。 1.2.3: 正確にバージョン1.2.3でなければなりません。 ^1.2.3: 1.2.3以上かつ2.0.0より小さいバージョンを許容します(すなわち >=1.2.3 <2.0.0)。 ~1.2.3: 1.2.3以上かつ1.3.0より小さいバージョンを許容します(すなわち >=1.2.3 <1.3.0)。 実装においては次を満たす必要があります: 依存関係ツリー内で他のパッケージが課すすべての制約を満たす、可能な限り最高のバージョンを各パッケージについて選択すること。 インストール用のトポロジカルにソートされたパッケージ一覧を生成すること。 次のエラーを優雅に扱い、報告すること: 解決不能なバージョンの競合(例:同じパッケージに対して一方の依存が ^1.0.0 を要求し、別の依存が ^2.0.0 を要求する場合)。 循環依存(例:パッケージAがBに依存し、BがAに依存する場合)。 必要なパッケージまたはバージョンが存在しない場合。 実装言語は任意に選べます。関数のシグネチャとデータ構造は自由に定義してください。ただし、それらを明確に示してください。

601
2026/03/15 06:11

プログラミング

OpenAI GPT-5 mini VS Google Gemini 2.5 Flash-Lite

最も最近使用されていない(LRU)キャッシュを実装する

PythonでLRU(Least Recently Used)キャッシュデータ構造を実装してください。各操作は平均時間計算量O(1)で動作する必要があります: get(key) — キャッシュにキーが存在すればそのキーに関連付けられた値を返します。存在しない場合は -1 を返します。キーにアクセスすると、そのキーは最近使用されたものとみなされます。 put(key, value) — キーと値のペアを挿入または更新します。キャパシティに達している場合は、新しい要素を挿入する前に最も最近使用されていない項目を削除します。 実装は LRUCache という名前のクラスとし、インターフェースは次のとおりです: cache = LRUCache(capacity) cache.put(key, value) result = cache.get(key) 以下のテストシーケンスで実装を示してください: cache = LRUCache(2) cache.put(1, 10) cache.put(2, 20) print(cache.get(1)) # 期待: 10 cache.put(3, 30) # キー2を削除(追い出し) print(cache.get(2)) # 期待: -1 cache.put(4, 40) # キー1を削除(追い出し) print(cache.get(1)) # 期待: -1 print(cache.get(3)) # 期待: 30 print(cache.get(4)) # 期待: 40 要件: functools.lru_cache または collections.OrderedDict を使用してはならない。 ハッシュマップと双方向連結リストの組み合わせを使用すること。 アプローチを明確に説明するコメントを含めること。 容量が0または1の場合などのエッジケースを処理すること。 上記のテストシーケンスとその期待される出力を含む、完全に実行可能なコードを提供すること。

621
2026/03/12 19:00

プログラミング

OpenAI GPT-5.2 VS Google Gemini 2.5 Flash

Least Recently Used (LRU) キャッシュの実装

LRU(Least Recently Used)キャッシュクラスをPythonで実装してください。以下の操作をサポートする必要があります。 LRUCache(capacity) — キャッシュを正の整数容量で初期化します。 get(key) — キーが存在する場合は、それに関連付けられた値を返します。存在しない場合は -1 を返します。キーにアクセスすると、そのキーが最近使用されたものとしてマークされます。 put(key, value) — キーと値のペアを挿入または更新します。挿入後にキャッシュが容量を超えた場合、最も最近使用されていないキーを削除します。 get と put の両方は、平均 O(1) の時間計算量で実行される必要があります。 完全で自己完結したPython実装を提供してください。functools.lru_cache または collections.OrderedDict を使用しないでください。基盤となるデータ構造(例:双方向連結リストとハッシュマップ)を自分で実装する必要があります。 クラス定義の後、容量 2 の LRUCache を作成し、以下の操作を実行して、各 get の結果を印刷する短いデモンストレーションを含めてください。 cache = LRUCache(2) cache.put(1, 10) cache.put(2, 20) print(cache.get(1)) # 期待値: 10 cache.put(3, 30) # キー 2 を削除 print(cache.get(2)) # 期待値: -1 cache.put(4, 40) # キー 1 を削除 print(cache.get(1)) # 期待値: -1 print(cache.get(3)) # 期待値: 30 print(cache.get(4)) # 期待値: 40

652
2026/03/10 15:38

プログラミング

OpenAI GPT-5.2 VS Google Gemini 2.5 Pro

LRUキャッシュの実装

PythonでLRU(Least Recently Used)キャッシュデータ構造を実装してください。実装はLRUCacheという名前のクラスで、以下の操作をサポートする必要があります。 __init__(self, capacity: int) — キャッシュを正の整数capacityで初期化します。 get(self, key: int) -> int — キーが存在する場合は、それに関連付けられた値を返します。存在しない場合は-1を返します。キーへのアクセスは「使用」とみなされます。 put(self, key: int, value: int) -> None — キーと値のペアを挿入または更新します。挿入後、キャッシュが容量を超えた場合は、最も最近使用されていないキーを削除します。 getとputの両方は、平均O(1)の時間計算量で実行される必要があります。 完全なクラス実装を提供してください。次に、次の操作シーケンスの出力によってその正しさを実証してください。 cache = LRUCache(2) cache.put(1, 10) cache.put(2, 20) print(cache.get(1)) # 期待値: 10 cache.put(3, 30) # キー2を削除 print(cache.get(2)) # 期待値: -1 cache.put(4, 40) # キー1を削除 print(cache.get(1)) # 期待値: -1 print(cache.get(3)) # 期待値: 30 print(cache.get(4)) # 期待値: 40 実装によって両方の操作でO(1)の時間計算量がどのように達成されるか簡単に説明してください。

626
2026/03/09 03:54

21〜26件を表示 / 全26件

関連リンク

X f L