栈 + 动态规划 - 解决栈变化时原地获取该栈最小元素的问题 想要随时取到当前栈中最小的元素,我们不妨另建一个栈,用来存放当原始栈含 n 个元素时,对应的栈中的最小元素(如下图)。 可以看出,上图中的最小栈,是满足题目要求的,它总能保证我们可以原地获取当前原始栈中的最小元素(那就是最小栈栈顶的元素)。 我们先不去想如何从零开始实现这样一个最小栈,而是不妨先假设手头已经存在了这样一个最小栈,它有两个很重要的性质: 最小栈的高度与原始栈的高度恒等; 最小栈的栈顶元素是当前对应的原始栈中的最小元素。 现在我们要思考的问题是,当原始栈进行出/入栈操作时,怎么保证最小栈依然满足这两个性质。 情景一...