leetcode刷题

接雨水

只是使用了单调栈的方法来做。

其中计算雨水面积要横向计算,不能只看某一个竖列(我就卡在了这一步,因此没有做出来)。

int trap(vector<int>& height) {
        int middle;
        int result = 0;
        stack<int> st;
        st.push(0);
        for(int i = 1; i < height.size(); i++){
            if(height[i] <= height[st.top()]){
                st.push(i);
            }
            else{
                while(!st.empty()  && height[i] > height[st.top()]){
    
                    middle = st.top();
                    st.pop();
                    if(!st.empty())
                        result += (min(height[st.top()], height[i]) - height[middle]) * (i - st.top() - 1);
                }
                st.push(i);
            }
        }
        return result;
    }

计算矩形面积

和上一题相反,上一题是求凹槽面积,这一题是求凸出来的面积。

int largestRectangleArea(vector<int>& heights) {
        heights.push_back(0);
        heights.insert(heights.begin(), 0);
        int result = 0;
        stack<int> st;
        st.push(0);
        for(int i = 1;i < heights.size(); i++){
            if(heights[i] >= heights[st.top()]){
                st.push(i);
            }
            else{
                while(!st.empty() && heights[i] < heights[st.top()]){
                    int mid = st.top();
                    st.pop();
                    if(!st.empty())
                        result = max((i - st.top() - 1) * heights[mid], result);
                }
                st.push(i);
            }
        }
        return result;
    }

相关推荐

  1. leetcode笔记

    2024-06-06 15:00:02       24 阅读
  2. Leetcode

    2024-06-06 15:00:02       12 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-06 15:00:02       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-06 15:00:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-06 15:00:02       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-06 15:00:02       20 阅读

热门阅读

  1. WebRTC 在 Android 端实现一对一通信

    2024-06-06 15:00:02       9 阅读
  2. Webrtc支持HEVC之Mediasoup SDP协商编码流程(三)

    2024-06-06 15:00:02       9 阅读
  3. Webrtc支持HEVC之编解码器创建(二)

    2024-06-06 15:00:02       8 阅读
  4. cuda 存储相关博客收藏

    2024-06-06 15:00:02       7 阅读
  5. 注解 - @RequestParam

    2024-06-06 15:00:02       8 阅读
  6. Python正则表达式匹配中文:深入解析与实战应用

    2024-06-06 15:00:02       9 阅读
  7. git -- 清除本地分支以及删除远程分支

    2024-06-06 15:00:02       11 阅读
  8. STM32开发遇见问题解决2024.6.6

    2024-06-06 15:00:02       7 阅读
  9. Elasticsearch核心概念解析:索引、文档与类型

    2024-06-06 15:00:02       9 阅读
  10. MQ基础(RabbitMQ)

    2024-06-06 15:00:02       8 阅读
  11. Linux系统编程之进程间通信(IPC)

    2024-06-06 15:00:02       10 阅读
  12. websocket链接携带参数

    2024-06-06 15:00:02       10 阅读
  13. EVO轨迹评估工具基本使用教程(学习记录)

    2024-06-06 15:00:02       13 阅读