優美子陣列

2021-10-05 08:40:33 字數 778 閱讀 6512

給你乙個整數陣列 nums 和乙個整數 k。

如果某個 連續 子陣列中恰好有 k 個奇數數字,我們就認為這個子陣列是「優美子陣列」。

請返回這個陣列中「優美子陣列」的數目。

示例 1:

輸入:nums = [1,1,2,1,1], k = 3

輸出:2

解釋:包含 3 個奇數的子陣列是 [1,1,2,1] 和 [1,2,1,1] 。

示例 2:

輸入:nums = [2,4,6], k = 1

輸出:0

解釋:數列中不包含任何奇數,所以不存在優美子陣列。

示例 3:

輸入:nums = [2,2,2,1,2,2,1,2,2,2], k = 2

輸出:16

掃瞄一遍,記錄掃瞄到的奇數數量,與k相等時,尋找右邊的偶數個數,和左邊的偶數個數。然後把題目分別加1,相乘(以為可以不選)

class

solution

if(oddnum==k)

int rightnum = right-dw;

int leftnum=0;

while

((nums[left]&1

)==0)

number+=

(leftnum+1)

*(rightnum+1)

; left++

; oddnum--;}

}return number;

}}

1248 統計 優美子陣列

給你乙個整數陣列 nums 和乙個整數 k。如果某個 連續 子陣列中恰好有 k 個奇數數字,我們就認為這個子陣列是 優美子陣列 請返回這個陣列中 優美子陣列 的數目。示例 1 輸入 nums 1,1,2,1,1 k 3 輸出 2 解釋 包含 3 個奇數的子陣列是 1,1,2,1 和 1,2,1,1 ...

1248 統計 優美子陣列

題解 class solution vectorcount nums.size 1,0 比如count i 下標i表示奇數個數,count i 表示情況有多少種 count 0 1 int odd 0 累計前面到i位置,有奇數的個數pre i 區間 0,i int sum 0 for int i 0...

ZZULIOJ 2601 優美子陣列

小d同學經常與別人有一些不一樣的見解,例如小d同學認為,如果乙個陣列中的數字全部都是奇數,那麼小d認為這個陣列是乙個優美的陣列。現在給定乙個陣列,你能告訴小d,從這個陣列中可以擷取多少個連續的子陣列,是優美的陣列麼?多組測試資料,以eof結束。每組測試資料有兩行,第一行乙個整數n,表示陣列的長度。接...