天空闲话 发表于 2024-9-11 04:49:39

c++数据布局算法题解说

 那么从本期文章开始,会只管带大家一起刷题
https://i-blog.csdnimg.cn/direct/32bb86c52c13404bb18f60e4ada6f517.gif
第一题

题目

https://i-blog.csdnimg.cn/direct/457358365bd7429d88e2f97785041f51.png
关键词

https://i-blog.csdnimg.cn/direct/55eb8c1b18f44306bd97cc2b5b9f4afd.png
思路

https://i-blog.csdnimg.cn/direct/5e624d1c980e4d039806cfbf3d7efc87.png
源代码

class MinStack {
public:
   
    void push(int val) {
       _st.push(val);
       if(_minst.empty() || val <= _minst.top())
       {
        _minst.push(val);
       }
    }
   
    void pop() {
      if(_st.top() == _minst.top())
      {
        _minst.pop();
      }
      _st.pop();
    }
   
    int top() {
      return _st.top();
    }
   
    int getMin() {
       return _minst.top();
    }
    private:
    stack<int> _st;
    stack<int> _minst;
};
题目链接

155. 最小栈 - 力扣(LeetCode)
第二题

题目

https://i-blog.csdnimg.cn/direct/b560934729794341b10df6bcfaf1ab5c.png
思路 

https://i-blog.csdnimg.cn/direct/e2c2b004e83b4daa85744b21d8533f25.png
这里另有最紧张的一点就是出栈后千万别忘了删除哦
源代码

class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param pushV int整型vector
     * @param popV int整型vector
     * @return bool布尔型
     */
    bool IsPopOrder(vector<int>& pushV, vector<int>& popV) {
        // write code here
        size_t posi = 0;
        stack<int> _st;
        for(auto cur: pushV)
        {
            _st.push(cur);
            while(!_st.empty() && _st.top() == popV)
            {
                _st.pop();
                posi++;
            }
        }
        return _st.empty();
    }
};
那么本篇文章的内容就先到这里,我们下期见
https://i-blog.csdnimg.cn/direct/bb7326458bba4ee59e8259a5e50426c8.png

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: c++数据布局算法题解说