精華區beta Marginalman 關於我們 聯絡資訊
題目 : 給你一串陣列 問你有多少子陣列 裡面的奇數剛好有k個 思路 : 第一眼看到就sliding window 可是我是傲嬌 所以我用hash+一點點前綴和的感覺去寫 先在紀錄裡找有沒有出現過now-k 加上他的數量 然後再記錄出現的奇數數量now 這樣就可以ㄌ ```cpp class Solution { public: int numberOfSubarrays(vector<int>& nums, int k) { int len = nums.size(); int res = 0; vector<int> paper(len,0); vector<int> save(50001,0); save[0] = 1; int now = 0; for(int i = 0 ; i < len ; i ++) { if(nums[i] & 1)now ++; if(now-k >= 0)res += save[now-k]; save[now]++; } return res; } }; ``` 靠北 我paper沒用到 現在才發現 沒差 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.162.53.5 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1719030568.A.1B7.html
Smallsh: 大師 06/22 12:33
SecondRun: 有些語言或編輯器看到你參數空著沒用直接報錯 06/22 13:01
smart0eddie: sliding window 要跑很久吧 06/22 13:21