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 };
  • 相关阅读:
    react-webpack-express
    React总结和遇到的坑
    vue+node+mongodb实现的功能
    webpack整体了解
    webpack踩坑
    深入了解MongoDB
    实现pdf word在线浏览和下载
    node实现爬虫
    火客声音分析
    抖音二婷衣橱分析
  • 原文地址:https://www.cnblogs.com/SeekHit/p/5774115.html
Copyright © 2011-2022 走看看