文章标题
来源:互联网 发布:詹姆斯生涯数据统计 编辑:程序博客网 时间:2024/06/06 04:00
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
这道题就是采用将0代替为-1,然后去求总和为0的最长的连续数组的长度即可。然后就是用第n次出现的sum的值的索引去减去第一次出现这个sum的索引,因为这2个索引之间的数的值为0,即个数一致,故可得最长的子集。这里要注意子集不一定从nums[0]开始哦,这个要注意。
然后这里用到的map的函数find,要积累起来哦。
代码如下:
class Solution {public: int findMaxLength(vector<int>& nums) { for(int i=0;i<nums.size();i++){ if(nums[i]==0)nums[i]=-1; } map<int,int>MM; MM[0]=-1; int sum=0; int res=0; for(int i=0;i<nums.size();i++){ sum+=nums[i]; if(MM.find(sum)!=MM.end()){ res=max(res,i-MM[sum]); } else{ MM[sum]=i; } } return res; }};
0 0
- 文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题 文章标题 文章标题 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- 文章标题
- OpenGL系列教程(1)——认识OpenGL
- 求某个数n的某一个因子的个数 (高斯取整函数思想)
- 操作mysql的相关错误
- 向量的点乘和叉乘在游戏中的应用
- spring项目的单元测试编写
- 文章标题
- 【LeetCode】Base 7 解题报告
- angular 之 ng-cloak,ng-cloak没效果
- Java的String类型比较
- Js_面向对象_02
- Unity3D学习(4)——摄像机&光源&面向对象&简单工厂
- 当互联网企业遇到了 SAFe, 是一拍即合? 还是存在著误解?!
- Linux内核之 中断以及中断处理程序
- 机器学习(Machine Learning)&深度学习(Deep Learning)资料(Chapter 2)