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