C++ | Leetcode C++题解之第525题连续数组

题目:

题解:

cpp 复制代码
class Solution {
public:
    int findMaxLength(vector<int>& nums) {
        int maxLength = 0;
        unordered_map<int, int> mp;
        int counter = 0;
        mp[counter] = -1;
        int n = nums.size();
        for (int i = 0; i < n; i++) {
            int num = nums[i];
            if (num == 1) {
                counter++;
            } else {
                counter--;
            }
            if (mp.count(counter)) {
                int prevIndex = mp[counter];
                maxLength = max(maxLength, i - prevIndex);
            } else {
                mp[counter] = i;
            }
        }
        return maxLength;
    }
};
相关推荐
sqmw8 小时前
MFCMouseEffect:把桌面输入反馈这件事,做成一个真正可扩展的引擎
c++·插件·引擎·鼠标特效·键鼠指示·鼠标伴宠
沈阳信息学奥赛培训8 小时前
#undef 指令 (C/C++)
c语言·开发语言·c++
2401_873204658 小时前
分布式系统安全通信
开发语言·c++·算法
sw1213899 小时前
C++中的代理模式实战
开发语言·c++·算法
sheeta199810 小时前
LeetCode 每日一题笔记 日期:2025.03.24 题目:2906.构造乘积矩阵
笔记·leetcode·矩阵
Sunshine for you10 小时前
实时操作系统中的C++
开发语言·c++·算法
史蒂芬_丁10 小时前
C++深度拷贝例子
java·开发语言·c++
「QT(C++)开发工程师」11 小时前
C++11三大核心特性深度解析:类型特征、时间库与原子操作
java·c++·算法
Jordannnnnnnn12 小时前
追赶33名
c++
会编程的土豆13 小时前
【数据结构与算法】最短路径---Dijkstra 算法
数据结构·c++·算法