3676. 碗子数组的数目

文章目录

题意

题目链接

思路

单调栈

代码

C++ 复制代码
class Solution {
public:
    long long bowlSubarrays(vector<int>& nums) {
        
        int ans = 0;
        stack<int> s;
        for (int i = 0; i < nums.size(); i++) {
            const int x = nums[i];
            while (!s.empty() && nums[s.top()] < x) {
                if (i - s.top() > 1)
                    ans ++;
                s.pop();
            } 
            if (!s.empty() && i - s.top() > 1)
                ans++;
            s.push(i);
        }
        return ans;
    }
};
相关推荐
I_LPL2 小时前
day50 代码随想录算法训练营 图论专题3
java·算法·深度优先·图论·求职面试
Flying pigs~~2 小时前
我的leetcode hot100之行(持续更新)
数据结构·算法·leetcode
滴滴答滴答答2 小时前
机考刷题之 7 LeetCode 240 搜索二位矩阵Ⅱ
java·算法·leetcode
武帝为此2 小时前
【HMAC加密算法介绍】
算法·密码学
进击的荆棘2 小时前
优选算法——模拟
java·开发语言·算法·模拟
仰泳的熊猫2 小时前
题目2086:蓝桥杯算法提高VIP-最长公共子序列
数据结构·c++·算法·蓝桥杯·动态规划
请你喝好果汁6412 小时前
ML-线性回归(Linear Regression)
算法·回归·线性回归
Figo_Cheung2 小时前
Figo《量子几何学:从希尔伯特空间到全息时空的统一理论体系》(十一)——量子计算几何算法的设计与实现
算法·几何学·量子计算
0 0 02 小时前
CCF-CSP 36-2 梦境巡查(dream)【C++】考点:前缀和
开发语言·c++·算法