525. Contiguous Array
来源:互联网 发布:拓虹网络 编辑:程序博客网 时间:2024/06/05 04:19
Given a binary array, find the maximum length of a contiguous subarray with equal number of 0 and 1.
Example 1:
Input: [0,1]
Output: 2
Explanation: [0, 1] is the longest contiguous subarray with equal number of 0 and 1.Example 2:
Input: [0,1,0]
Output: 2
Explanation: [0, 1] (or [1, 0]) is a longest contiguous subarray with equal number of 0 and 1.
Note: The length of the given binary array will not exceed 50,000.
思路1:利用一个计数值表示0和1相差多少,然后若在map中找到相应的映射关系,若i和j的cnt相等,表明 i+1 到 j 的0,1个数相等;
int findMaxLength1(vector<int>& nums) { unordered_map<int, int> res; int cnt = 0, maxlen = 0; res[0] = -1; for (int i = 0; i < nums.size(); i++){ if (!nums[i])cnt++; else cnt--; if (res.find(cnt) == res.end())res[cnt] = i; else maxlen = max(maxlen, i - res[cnt]); } return maxlen;}
思路2:将数组中等于0的元素值改为-1,这样若数组中存在连续的两端具有相同的sum,则此区间存在相同数目的0和1。
int findMaxLength(vector<int>& nums) { for (int i = 0; i < nums.size(); i++){ if (!nums[i])nums[i] = -1; } unordered_map<int, int> res; int sum = 0, maxlen = 0; res[0] = -1; for (int i = 0; i < nums.size(); i++){ sum += nums[i]; if (res.find(sum) != res.end()) maxlen = max(maxlen, i - res[sum]); else res[sum] = i; } return maxlen;}
阅读全文
0 0
- 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
- 525. Contiguous Array
- [leetcode] 525. Contiguous Array
- [leetcode]525. Contiguous Array
- 525. Contiguous Array
- 525. Contiguous Array
- LeetCode 525. Contiguous Array
- 525. Contiguous Array 题解
- [LeetCode] 525. Contiguous Array
- 525. Contiguous Array
- leetcode 525. Contiguous Array
- ES-基本概念
- Developing Skills
- 南阳oj 题目290 动物统计加强版 字典树
- 断言assert
- CameraNameAndVersion
- 525. Contiguous Array
- Oracle实例错误——listener does not currently know of SID given in connect descriptor
- java编程思想读书笔记八:复用类
- poj 1671 DP n个数分成1,2,。。。n个组的可能数
- CriticalSection_1
- 排序-希尔-Java
- C++const限定符
- ZCMU—1927
- CriticalSection_2