[leetcode]525. Contiguous Array
来源:互联网 发布:收入词典的网络词语 编辑:程序博客网 时间:2024/05/10 02:40
题目链接:https://leetcode.com/problems/contiguous-array/#/description
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: 2Explanation: [0, 1] is the longest contiguous subarray with equal number of 0 and 1.
Example 2:
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的整数数组,找到数组中最长的一个子序列,该序列中1的个数和0的个数相同。
0和1的数组,可以考虑吧0换成-1 ,变成1 和-1 的数组,那么本质上就是找是有下标从i-j的总和为0的子数组。
然后存储一个hashmap用来存放sum,如果接下来的sum在hashmap里面出现过,则说明hashmap里面出现的那个值的索引的开始(不包括索 引),到目前的索引的和为0。
class Solution{public: int findMaxLength(vector<int>& nums) { int sum=0,result=0; vector<int> res(nums.size()+1,0); for(int i=0;i<nums.size();i++) { if(nums[i]==0) nums[i]=-1; } unordered_map<int,int> m; m[0]=-1; for(int i=0;i<nums.size();i++) { sum+=nums[i]; if(m.find(sum)!=m.end()) result=max(result,i-m[sum]); else m[sum]=i; } return result; }};
0 0
- LeetCode 525. Contiguous Array
- Leetcode 525. Contiguous Array
- [LeetCode]525. Contiguous Array
- [leetcode] 525. Contiguous Array
- [leetcode]525. Contiguous Array
- LeetCode 525. Contiguous Array
- [LeetCode] 525. Contiguous Array
- leetcode 525. Contiguous Array
- LeetCode 525. Contiguous Array
- leetcode 525.Contiguous Array
- leetcode题解-525. Contiguous Array
- [leetCode刷题笔记]525. Contiguous Array
- [Leetcode] 525. Contiguous Array 解题报告
- [LeetCode]Contiguous Array
- LeetCode.525 Contiguous Array
- 525. Contiguous Array
- 525. Contiguous Array
- 525. Contiguous Array
- Codeforces 805 B
- 前端小白学习路线之HTML超文本标记语言
- layerUI+Ajax打开页面执行操作后关闭问题
- Java复习——继承作业
- 《Centos 7系列删除数据库并重新安装》
- [leetcode]525. Contiguous Array
- 导数的定义
- Android 读取所有短信
- iOS 开发之绘制虚线
- 系统调用fork()函数
- 安装cadence16.6/16.5经验(Unable to restart Cadence License Server...
- JavaScript类的语法糖
- Java并发基础
- 【LeetCode】Binary Tree Paths 解题报告