LeetCode 525. 连续数组(前缀和+哈希)
1. 题目
给定一个二进制数组, 找到含有相同数量的 0 和 1 的最长连续子数组(的长度)。
示例 1:
输入: [0,1]
输出: 2
说明: [0, 1] 是具有相同数量0和1的最长连续子数组。示例 2:
输入: [0,1,0]
输出: 2
说明: [0, 1] (或 [1, 0]) 是具有相同数量0和1的最长连续子数组。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/contiguous-array
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
2. 解题
类似题目:
LeetCode 560. 和为K的子数组(前缀和差分)
LeetCode 1248. 统计「优美子数组」(要复习)
- 把0看成-1,找和为0的最长长度,跟560题差不多
- 记录前缀和,第一次出现时,存入map,记录下标
- 第二次出现时,做差,中间的长度就是和为0的区间
class Solution {public:int findMaxLength(vector<int>& nums) {int i, n = nums.size(), sum = 0, maxlen = 0;unordered_map<int,int> m;//sum, 第一次出现sum时的idxm[0] = -1;for(i = 0; i < n; ++i){if(nums[i])sum += 1;elsesum -= 1;if(!m.count(sum))m[sum] = i;elsemaxlen = max(maxlen, i-m[sum]);}return maxlen;}
};
344 ms 78.5 MB
LeetCode 525. 连续数组(前缀和+哈希)相关推荐
- LeetCode 525 连续数组/剑指 Offer II 011. 0 和 1 个数相同的子数组
题目链接:525. 连续数组 思路:前缀和+哈希表 由于「0 和 1 的数量相同」等价于「1 的数量减去 0 的数量等于 0」,我们可以将数组中的 0 视作 -1,则原问题转换成「求最长的连续子数组, ...
- leetcode 525. 连续数组
给定一个二进制数组 nums , 找到含有相同数量的 0 和 1 的最长连续子数组,并返回该子数组的长度. 示例 1: 输入: nums = [0,1] 输出: 2 说明: [0, 1] 是具有相同数 ...
- LeetCode-笔记-525. 连续数组
LeetCode-笔记-525. 连续数组 6月份第三天前缀和了 给定一个二进制数组 nums , 找到含有相同数量的 0 和 1 的最长连续子数组,并返回该子数组的长度. 示例 1: 输入: num ...
- leetcode 525. Contiguous Array | 525. 连续数组(Java)
题目 https://leetcode.com/problems/contiguous-array/ 题解 想到了这个题,不过和本题没什么关系,仅仅是想到了而已: https://leetcode.c ...
- 文巾解题 525. 连续数组
1 题目描述 2 解题思路 方便起见,我们将0~1数组看成-1~1数组. 什么时候子数组中-1和1的数量相同呢?那就是这个子数组里面的数字之和为0,此时所有的-1和1两两抵消了. 那么我们就想到前缀和 ...
- 【LeetCode刷题记录】LeetCode经典题目数组求和及哈希表的使用!
点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 LeetCode题目 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那两个整 ...
- Leetcode525.连续数组(又是连续之类的题目,结合前缀和)
题目: 给定一个二进制数组 nums , 找到含有相同数量的 0 和 1 的最长连续子数组,并返回该子数组的长度. 示例 1: 输入: nums = [0,1] 输出: 2 说明: [0, 1] 是具 ...
- LeetCode 659. 分割数组为连续子序列
LeetCode 659. 分割数组为连续子序列 回顾 根据题意,每个元素只会涉及两种情况: 已经存在nums[i]-1结尾的序列,我们把nums[i]接到之前的某个序列后. 尝试以nums[i]为头 ...
- Leetcode 1043.分隔数组以达到最大和
Time: 20190907 Type: Medium 题目描述 出整数数组 A,将该数组分隔为长度最多为 K 的几个(连续)子数组.分隔完成后,每个子数组的中的值都会变为该子数组中的最大值. 返回给 ...
最新文章
- 第九章:路由网关(Zuul)的使用
- ListView优化的代码
- 网站建设技术――智能建站系统
- 《程序员代码面试指南》第八章 数组和矩阵问题 在行列都排好序的矩阵中找数...
- 九十年代以来的文学事变与60后70后80后作家的写作之一
- NIO流程记录(非源码,单reacter单线程)
- webRTC之智能指针std::unique_ptr::reset()使用(十四)
- Nginx ssl证书部署方法
- Spring Cloud Alibaba Sentinel之流控规则篇
- LINGO11 百度网盘
- H3CSE园区-STP
- 三菱四节传送带控制梯形图_四节传送带控制
- plc仿真实训软件_博途STEP7仿真软件与真实PLC的区别
- JSP从入门到精通_课堂实战视频教程
- IE5的兼容问题——记录给自己看的
- 根据客户的PDF模板,写入签名图和文本,生成新的PDF图片和JPG图片。
- 某电商网站Java面试题-2(高级开发,架构级别)
- 拜尔滤色拜尔滤色镜_如何在Windows 10上启用滤色器以更清晰地阅读屏幕
- java预研项目_缓存java框架技术预研3:JAVA缓存技术介绍
- three.js学习笔记(七)——粒子