class Solution {
public:
int findMaxLength(vector<int>& nums) {
int maxlength=0;
int n=nums.size();
unordered_map<int,int> mp;//哈希
int counter=0;//value:值为0
mp[counter]=-1;//index:下标初始化为-1
for(int i=0;i<n;i++){
int num=nums[i];
if(num==0){
counter--;
}else{
counter++;
}
//如果mp中存在value
if(mp.count(counter)){
int preIndex=mp[counter];
maxlength=max(maxlength,i-preIndex);
}else{
mp[counter]=i;
}
}
return maxlength;
}
};
【leetcode】525. 连续数组
最新推荐文章于 2023-12-21 11:00:19 发布