修改后的栈通过在每个元素中存储当前最小值,实现了O(1)时间复杂度的最小值查询。入栈时比较新元素与当前最小值,出栈时直接移除顶部元素,确保高效处理频繁的最小值查询。这种设计在竞争编程和实时系统中非常实用。
之前去方付通面试的时候的时候, 问了我N个数依次入栈,出栈顺序有多少种?的算法题, 其实是卡特兰数(Catalan)的应用. 当时没有答出来(这要是之前没有接触过, 谁答的出来). 现在用这篇日志重新整理记录一下.
完成下面两步后,将自动完成登录并继续当前操作。