次のインタビューの質問の難しさについて、ご意見をお聞かせください。
O(n)時間の整数の配列で、合計が最大の連続するサブ配列を見つけます。
この些細な響きの問題は、ジョンベントレーがプログラミングパールで有名にしたもので、アルゴリズムの設計手法を示すために使用されています。
1〜10のスケールで、1はFizzBuzz(またはHoppityHop)テストで、10はC stdlib関数malloc()の実装です。上記の問題をどのようにランク付けしますか?
この質問に最もよく答えられるのは、Programming Pearlsを読んで自分でこの問題を解決しようとした人だと思います。「プログラミングの真珠」は、そうでない人のやる気を引き出すために、「プログラミングブックのトップ10」リストで何度も取り上げられます。
いくつかのコメントはより良い評価を得るために役立つかもしれません:
malloc()の実装は、見かけほど手ごわいものではありません。たとえば、K&RのCプログラミング言語を参照してください。マイクロソフトで時々尋ねられます。
CLRSによる問題解決の観察:特に時間の制約の下で作業する場合は、明確に提示された解決策を検証するよりも、問題を最初から解決する方が難しいことがよくあります。