Description

Submission
class Solution {
public:
int findMaxLength(vector<int>& nums) {
unordered_map<int, int> sumIndex{{0, -1}};
int sum = 0, ret = 0;
for(int i = 0; i < nums.size(); ++i) {
if(nums[i] == 0) {
sum--;
} else {
sum++;
}
if(sumIndex.find(sum) == sumIndex.end()) {
sumIndex[sum] = i;
} else {
ret = max(ret, i - sumIndex[sum]);
}
}
return ret;
}
};
