Zheaoli / do-something-right

MIT License
37 stars 3 forks source link

2022-11-24 #431

Open Zheaoli opened 1 year ago

Zheaoli commented 1 year ago

2022-11-24

dreamhunter2333 commented 1 year ago
#include <iostream>
#include <vector>
using namespace std;
/*
 * @lc app=leetcode.cn id=795 lang=cpp
 *
 * [795] 区间子数组个数
 */

// @lc code=start
class Solution
{
public:
    int numSubarrayBoundedMax(vector<int> &nums, int left, int right)
    {
        int res = 0;
        int pre_count = 0;
        int min_count = 0;
        for (auto &&num : nums)
        {
            if (num < left)
            {
                min_count++;
                res += pre_count;
            }
            else if (left <= num && num <= right)
            {
                res++;
                res += (pre_count + min_count);
                pre_count += (1 + min_count);
                min_count = 0;
            }
            else
            {
                min_count = 0;
                pre_count = 0;
            }
        }
        return res;
    }
};
// @lc code=end

微信id: 而我撑伞 来自 vscode 插件