インターネットでアルゴリズムに関する質問を見つけました。
関数を含むスタックを定義します。これにより、スタック内の最小数を取得でき、、およびの時間複雑度はすべてO(1)です。minminpoppushmin
の複雑さはO(1)であることは知っpopていますが、毎回最小数を記憶するように変数を定義すると、複雑さをどのように作成するかわかりませんが、 の場合、最小数は変わる可能性があるので、そうする必要があります2 番目に小さい数を見つけます。これは、複雑さがO(1)にならないことを意味します。pushminO(1)pushpoppop
では、要件を満たすためにスタックをどのように定義すればよいでしょうか?