algorithmアルゴリズム(Python):kより大きい最小の数を見つけるアルゴリズムの観点から質問があります。確かに、これはあなたがOPで述べたこととまったく同じです(「kよりも小さい番号のリストを繰り返しています」)。これは単なるコンパクトな方法です。あなたの答えに間違いがあったということを言っているわけではありませんでした。質問者には、構文的な砂糖だけであることを指摘しています。反復よりも魔法的に効率的なものではありません。私はちょうど同じ質問をしました。受け入れられた答えを読んでちょっと私を憂鬱にしました。誰が他のところで掘りたいと思っていますか?それから私はこれを見ました。文法的な砂糖かどうか、それはまだ甘いです。源バイナリ検索はこれに対処するための標準的な方法ですが、リストがソートされている場合のみ、前の回答が指摘したとおりです。源これはフィルタの完璧なシナリオです。print(a)4.9リスト内包表記を使用することもできます。print(a)4.9リストの理解度は、最初のビューではそれほど単純ではないように思われますが、それを実行するための推奨方法です。使用しないでください。私はPythonについては分かりませんが、アルゴリズムの観点からは何かを追加することができます。あなたの例では、リストは単調増加(ソート)されています。それがあなたのリストに常に当てはまる場合、小さな最適化は、4より大きな数に達すると反復を止めることかもしれません。あなたのリストが常に4より小さい数を持っていない場合、これは最適な最適化になりますが、目標数の前後の項目の数がランダムであれば、この改善は信頼できません。その場合、リストをパーティション分割して検索することができます。中間要素が4より大きいかどうかをテストします。大きい場合は上半分をスローし、そうでない場合は下半分をスローします。新しい半分の長さのリストで同じことをしてください。あなたは、偶数と奇数を扱う必要があります。リストセグメントに1〜2つのアイテムしか残っていない場合もあります。大きなリストの場合、これによりテストの数が大幅に削減されるはずです。