Contiguous Array问题及解法
来源:互联网 发布:山寨币 冷钱包源码 编辑:程序博客网 时间:2024/05/29 14:50
问题描述:
Given a binary array, find the maximum length of a contiguous subarray with equal number of 0 and 1.
示例:
Input: [0,1]Output: 2Explanation: [0, 1] is the longest contiguous subarray with equal number of 0 and 1.
Input: [0,1,0]Output: 2Explanation: [0, 1] (or [1, 0]) is a longest contiguous subarray with equal number of 0 and 1.
问题分析:
这里我们重点看的是连续子数组0和1的数目zero和one,遍历时我们把zero - one 和 i 存储起来,若后续子数组中0的数目和1的数目相等,那么zero - one的值就会被检测到出现过一次,然后得到子数组的长度,最终比较得到更长的长度。
过程详见代码:
class Solution {public: int findMaxLength(vector<int>& nums) { int res = 0,n = nums.size();int zero = 0, one = 0;unordered_map<int, int> map;map[0] = -1;for (int i = 0; i < n; i++){if (nums[i] == 0) zero++;else one++;if (map.find(zero - one) != map.end()){res = max(res, i - map[zero - one]);}else map[zero - one] = i;}return res; }};
阅读全文
0 0
- Contiguous Array问题及解法
- Rotate Array问题及解法
- Array Nesting 问题及解法
- Contiguous Array
- Contiguous Array
- Merge Sorted Array问题及解法
- Array Partition I问题及解法
- Non-decreasing Array问题及解法
- Shuffle an Array问题及解法
- Degree of an Array问题及解法
- LeetCode 525. Contiguous Array
- Leetcode 525. Contiguous Array
- 525. Contiguous Array
- 525. Contiguous Array
- 525. Contiguous Array
- [LeetCode]525. Contiguous Array
- 525. Contiguous Array Medium
- 525. Contiguous Array
- Android WebView背景透明2步搞定
- jsp填写图片的路径的两种方式
- Opencv如何使用dnn读取caffemodel进行识别
- OSX anaconda虚拟环境py27,安装编译MySQLdb出现fatal error: limits.h: No such file or directory
- GFIC 2017-亚太CDN年度盛典—传统云业务与CDN融合发展
- Contiguous Array问题及解法
- POJ 1208 The Blocks Problem 链表
- Android 6.0 动态权限申请
- 微信网页授权那些事
- “检测到有潜在危险的 Request.Form 值”非关闭验证的解决办法
- 怎么样才能cad快速看图操作
- Python 高级用法
- mybatis入库的Handler解读
- leetcode: 226. Invert Binary Tree