Re: [閒聊] 每日leetcode

看板Marginalman作者 (是oin捏)時間1年前 (2024/03/31 14:49), 編輯推噓4(400)
留言4則, 4人參與, 1年前最新討論串83/1548 (看更多)
※ 引述 《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; } }; ``` -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 134.208.57.64 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1711867786.A.F30.html

03/31 14:56, 1年前 , 1F
大師 錢
03/31 14:56, 1F

03/31 14:57, 1年前 , 2F
大師
03/31 14:57, 2F

03/31 15:02, 1年前 , 3F
小芋圓
03/31 15:02, 3F

03/31 15:26, 1年前 , 4F
錢錢
03/31 15:26, 4F
文章代碼(AID): #1c2GUAym (Marginalman)
討論串 (同標題文章)
文章代碼(AID): #1c2GUAym (Marginalman)