525. Contiguous Array

来源:互联网 发布:cf刷枪软件永久 编辑:程序博客网 时间:2024/05/17 23:23
跟520同类型题目,用hashMap保存前i项的和为sum的下标最小的数
class Solution {public:    int findMaxLength(vector<int>& nums) {        unordered_map<int, int> m;        int sum = 0;        int max = 0;        if (nums.size() == 1 || nums.size() == 0)            return 0;        m[0] = -1;        for(int i = 0; i < nums.size(); i++){            int num = nums[i];            if (num == 0)                sum -= 1;            else                sum += 1;            //cout << sum <<endl;            if (m.find(sum) != m.end()){                int front = m[sum];                if (i - front > max)                    max = i - front;            }else{                m[sum] = i;            }        }        return max;    }};
大概是基本操作
原创粉丝点击