給定乙個二進位制陣列, 找到含有相同數量的 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的最長連續子陣列。思路來自 連續陣列的解...