首页 > 代码库 > CC150 3.2
CC150 3.2
3.2 How would you design a stack which, in addition to push and pop, also has a function min which returns the minimum element? Push, pop and min should all operate in O(1) time.
Use another stack maintaining min.
push(T t) { mainStack.push(t); T curMin = minStack.peek(); if (curMin == null || t < curMin) { minStack.push(t); } } T peek() { return mainStack.peek(); } T poll() { T t = mainStack.poll(); if (t == null) return t; if (t == minStack.peek()) minStack.poll(); return t; } T min() { return minStack(); } Stack<T> mainStack; Stack<T> minStack;
CC150 3.2
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。