问题:
定义栈的数据结构,请在该类型中实现min()接口
解法:
除了正常的数据栈之外,开辟一个辅助栈。数据栈入栈时,辅助栈也入栈,只是入栈时,如果当前入栈元素比最小元素大,那就入最小元素,这样就可以O(1)复杂度取出最小元素;出栈时,数据栈和辅助栈同时出栈。
问题:
定义栈的数据结构,请在该类型中实现min()接口
解法:
除了正常的数据栈之外,开辟一个辅助栈。数据栈入栈时,辅助栈也入栈,只是入栈时,如果当前入栈元素比最小元素大,那就入最小元素,这样就可以O(1)复杂度取出最小元素;出栈时,数据栈和辅助栈同时出栈。