class Solution {
public:
int findMaxLength(vector<int>& nums) {
int n = nums.size();
vector<int> sum(n+1);
for(int i = 1; i <= n; i++) sum[i] = sum[i-1] + (nums[i-1] ? 1 : -1);
unordered_map<int,int> hash;
int res = 0;
hash[0] = 0;
for(int i = 1; i <= n; i++)
{
if(hash.find(sum[i]) != hash.end()) res = max(res, i - hash[sum[i]]);
else hash[sum[i]] = i;
}
return res;
}
};
Leetcode 525 连续数组 前缀和 + 哈希
博客给出了Leetcode相关题目链接,涉及前缀和、STL等知识。这些内容与信息技术领域的算法学习相关,能帮助学习者通过题目练习巩固知识。


被折叠的 条评论
为什么被折叠?



