LeetCode1248 統計 優美子陣列

2021-10-05 12:11:40 字數 735 閱讀 4087

給你乙個整數陣列 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 ...