GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — algorithm/stack/MinimumElementInStackWithExtraSpace.py at python · itsvinayak/algorithm Expand file tree/ Copy pathMinimumElementInStackWithExtraSpace.pyMore file actions 53 lines (41 loc) · 1.2 KB / Copy pathMinimumElementInStackWithExtraSpace.pyFile metadata and controls53 lines (41 loc) · 1.2 KB 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 class Stack: def __init__(self): self.stack = [] def push(self, element): self.stack.append(element) def top(self): return self.stack[-1] if len(self.stack) != 0 else None def pop(self): return self.stack.pop() class minimum_element_in_stack_with_extra_space: def __init__(self): self.s = Stack() self.ss = Stack() def push(self, element): self.s.push(element) if self.ss.top() is None or self.ss.top() >= element: self.ss.push(element) def pop(self): if self.s.top() is None: return -1 ans = self.s.top() self.s.pop() if self.ss.top() == ans: self.ss.pop() return ans def get_min(self): if self.ss.top() is None: return -1 return self.ss.pop() def main(): min_element = minimum_element_in_stack_with_extra_space() min_element.push(5) min_element.push(1) min_element.push(0) min_element.push(6) print(min_element.get_min()) min_element.pop() min_element.pop() print(min_element.get_min()) if __name__ == "__main__": main() |
| You are visitor 01402520 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |