zoukankan      html  css  js  c++  java
  • 剑指Offer 包含min函数的栈

    题目描述

    定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。
     
    思路:
    这个题是想得到一个时间复杂度为O(1)的min函数,所以应用一个辅助栈,压的时候,如果A栈的压入比B栈压入大,B栈不压,,,,小于等于,AB栈同时压入,出栈,如果,AB栈顶元素不等,A出,B不出。
     
     
    AC代码:
     1 class Solution {
     2 public:
     3     
     4     stack<int> stack1,stack2;
     5     
     6     void push(int value) {
     7         stack1.push(value);
     8         if(stack2.empty())
     9             stack2.push(value);
    10         else if(value<=stack2.top())
    11         {
    12             stack2.push(value);
    13         }
    14     }
    15     
    16     void pop() {
    17         if(stack1.top()==stack2.top())
    18             stack2.pop();
    19         stack1.pop();
    20         
    21     }
    22     
    23     int top() {
    24         return stack1.top();        
    25     }
    26     
    27     int min() {
    28         return stack2.top();
    29     } 
    30     
    31 };
  • 相关阅读:
    抓老鼠啊~亏了还是赚了?
    币值转换
    打印沙漏
    秋季学期学习总结
    PTA币值转化
    PTA作业
    秋季学习总结
    人生最重要的3个老师
    自我介绍
    vue入门(二) 让axios发送表单形式数据
  • 原文地址:https://www.cnblogs.com/SeekHit/p/5774115.html
Copyright © 2011-2022 走看看