52 連續陣列

2021-09-12 12:34:42 字數 610 閱讀 4714

題目描述:

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

示例 1:

輸入: [0,1]

輸出: 2

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

示例 2:

輸入: [0,1,0]

輸出: 2

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

思路來自:連續陣列的解法

跟之前的有一道題目好像很類似,這裡暫時想不起來了

用sum表示之和,遇到0就減一,遇到1就加1,那麼兩個sum相同的就是0和1數字相同的

result表示的是最大的

class solution 

maptemmap = new hashmap<>();

temmap.put(0, -1);

for (int i = 0; i < nums.length; i++) else

if(temmap.get(sum) == null)else

}

return result;

}}

(7)連續子陣列問題

include using namespace std 輸入乙個整形陣列,陣列裡有正數也有負數。陣列中連續的乙個或多個整數組成乙個子陣列,每個子陣列都有乙個和。求所有子陣列的和的最大值。要求時間複雜度為o n 例如輸入的陣列為1,2,3,10,4,7,2,5,和最大的子陣列為3,10,4,7,2,因...

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,則這個子陣列...