給你乙個整數陣列 nums 和乙個整數 k。
如果某個 連續 子陣列中恰好有 k 個奇數數字,我們就認為這個子陣列是「優美子陣列」。
請返回這個陣列中「優美子陣列」的數目。題目
陣列counts
記錄每個奇數出現的陣列下標。
針對每個counts[i]
,若存在counts[i+k-1]
,則這一段子陣列即有k個奇數,
接下來就要計算counts[i]
與counts[i-1]
之間的偶數個數,counts[i+k-1]
與counts[i+k]
之間的偶數個數,
因為兩邊的擴充套件組合都能組成可能的結果。
public
static
intnumberofsubarrays
(int
nums,
int k)
}//左邊界為-1,針對第乙個奇數:相減即為其左邊非奇數的個數
counts[0]
=-1;
//右邊界為陣列長度,針對最後乙個奇數為陣列尾的情況
counts[
++idx]
= len;
for(
int i =
1; i + k <= idx; i++
)return res;
}
Leetcode 1248 統計 優美子陣列
給你乙個整數陣列 nums 和乙個整數 k。如果某個 連續 子陣列中恰好有 k 個奇數數字,我們就認為這個子陣列是 優美子陣列 請返回這個陣列中 優美子陣列 的數目。示例 1 輸入 nums 1,1,2,1,1 k 3 輸出 2 解釋 包含 3 個奇數的子陣列是 1,1,2,1 和 1,2,1,1 ...
LeetCode1248 統計 優美子陣列
給你乙個整數陣列 nums 和乙個整數 k。如果某個 連續 子陣列中恰好有 k 個奇數數字,我們就認為這個子陣列是 優美子陣列 請返回這個陣列中 優美子陣列 的數目。示例 1 輸入 nums 1 1,2 1,1 k 3輸出 2 解釋 包含 3 個奇數的子陣列是 1,1,2,1 和 1,2,1,1 這...
leetcode1248 統計優美子陣列
給你乙個整數陣列 nums 和乙個整數 k。如果某個 連續 子陣列中恰好有 k 個奇數數字,我們就認為這個子陣列是 優美子陣列 請返回這個陣列中 優美子陣列 的數目。示例 1 輸入 nums 1,1,2,1,1 k 3 輸出 2 解釋 包含 3 個奇數的子陣列是 1,1,2,1 和 1,2,1,1 ...