題目描述:
給定乙個二進位制陣列, 找到含有相同數量的 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,則這個子陣列...