Re: [閒聊] 每日leetcode

作者: oinishere (是oin捏)   2024-03-31 14:49:44
※ 引述 《JIWP (神楽めあ的錢包)》 之銘言:
:  
: 又是hard我要吐了
:  
: 2444. Count Subarrays With Fixed Bounds
:  
: 有一個array : nums、兩個整數 : minK、maxK
:  
: 請找出所有的subarray符合以下條件
:  
: 1.subarray的最大值==maxK
:  
: 2.subarray的最小值==minK
解法:
https://i.imgur.com/n6abbYd.jpg
跟前幾天的有點像
重點就是要知道什麼時後要改變sliding window 的l
還有組合數量跟l的關係
然後就姆咪姆咪
反正就是
遇到太大太小的就直接移動l
不然就可以看看當前可不可以增加res數量
maxi mini的話就是有剛好的就更新
```cpp
class Solution {
public:
long long countSubarrays(vector<int>& nums, int minK, int maxK)
{
long long res = 0;
int len = nums.size();
int l = 0;
int r = 0;
int mini = -1;
int maxi = -1;
for(;r < len ; r ++)
{
int n = nums[r];
if(n > maxK || n < minK)
{
l = r + 1;
}
if(n == maxK)
{
maxi = r;
}
if(n == minK)
{
mini = r;
}
int mina = min(mini,maxi);
if(mina >= l)
{
res += mina - l + 1;
}
}
return res;
}
};
```
作者: JIWP (JIWP)   2024-03-31 14:56:00
大師 錢
作者: devilkool (對貓毛過敏的貓控)   2024-03-31 14:57:00
大師
作者: SydLrio (狂嵐嘴砲)   2024-03-31 15:02:00
小芋圓
作者: SecondRun (雨夜琴聲)   2024-03-31 15:26:00
錢錢

Links booklink

Contact Us: admin [ a t ] ucptt.com