Leetcode 525 連續陣列 C

2021-10-08 04:23:37 字數 599 閱讀 2177

給定乙個二進位制陣列, 找到含有相同數量的 0 和 1 的最長連續子陣列(的長度)。

示例 1:

輸入: [0,1]

輸出: 2

說明: [0, 1] 是具有相同數量0和1的最長連續子陣列。

示例 2:

輸入: [0,1,0]

輸出: 2

說明: [0, 1] (或 [1, 0]) 是具有相同數量0和1的最長連續子陣列。

注意:給定的二進位制陣列的長度不會超過50000。

我們轉化一下,我們將0該為1,則我們的目標就是找最長連續陣列和為0的陣列。

利用字首和進行求解

我們用雜湊表記錄最早出現的字首和的下標,對於當前的字首和,如果存在負和,則說明有一段連續陣列和為0,我們更新答案。詳細過程見**

int

findmaxlength

(vector<

int>

& nums)

return ans;

}

leetcode 525 連續陣列

給定乙個二進位制陣列,找到含有相同數量的 0 和 1 的最長連續子陣列 的長度 示例 1 輸入 0,1 輸出 2說明 0,1 是具有相同數量0和1的最長連續子陣列。示例 2 輸入 0,1,0 輸出 2說明 0,1 或 1,0 是具有相同數量0和1的最長連續子陣列。注意 給定的二進位制陣列的長度不會超...

LeetCode525 連續陣列

題目說陣列長度最長可能到50000,所以如果暴力枚舉子陣列的起點 終點,再計算陣列和,複雜度就是o n 3 肯定超時。可以預處理出字首和,這樣只需要列舉起點和終點即可,但時間複雜度依然是o n 2 也不行。這裡需要一點奇技淫巧,因為陣列只包含有0和1,如果一段子陣列含有相同數量的0和1,則這個子陣列...

52 連續陣列

題目描述 給定乙個二進位制陣列,找到含有相同數量的 0 和 1 的最長連續子陣列 的長度 示例 1 輸入 0,1 輸出 2 說明 0,1 是具有相同數量0和1的最長連續子陣列。示例 2 輸入 0,1,0 輸出 2 說明 0,1 或 1,0 是具有相同數量0和1的最長連續子陣列。思路來自 連續陣列的解...