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;
    }
};
相关推荐
誰能久伴不乏5 分钟前
ibmodbus “Invalid argument“ 错误的排查与修复
c++·qt·modbus
basketball6167 分钟前
Kadane算法 C++实现
java·c++·算法
handler017 分钟前
【C++】二叉搜索树详解及其模拟实现(代码)
开发语言·c++·算法·c··二叉搜索树·搜索树
luj_176810 分钟前
残熵算法的稳健防灾逻辑
c语言·开发语言·c++·经验分享·算法
玖釉-10 分钟前
二叉树基础详解:TreeNode、buildTree、deleteTree 与 printTree 的实现原理(C++)
c++·windows·算法
QiLinkOS35 分钟前
从技术到资产的跃迁:企业专利布局的深层逻辑
c语言·数据结构·c++·单片机·嵌入式硬件·算法·开源
磊 子1 小时前
STL之deque和list以及两者与vector的对比
开发语言·c++·list
郝学胜_神的一滴1 小时前
CMake 012:Linux 下动态库与可执行程序的单文件构建
c++·cmake
小poop1 小时前
操作符详解:从入门到精通
c++
山上三树1 小时前
C/C++ 高频报错速查表(开发通用版)
c语言·开发语言·c++