class Solution {
public:
int findMaxLength(vector<int>& nums) {
unordered_map<int,int> map;
int sum=0,len=0;
//把nums[]里所有的0改成-1,累加nums[i]并且记录索引index,当sum值再次出现的时候,说明中间的0,1数量相等。
map[0]=-1;
for(int i=0;i<nums.size();i++){
if(nums[i]==0)
sum += -1;
else
sum += 1;
if(map.find(sum)!=map.end())
len = len>(i-map[sum]) ? len : i-map[sum];
else
map[sum]=i;
}
return len;
}
};
525. Contiguous Array
最新推荐文章于 2020-06-13 07:10:01 发布