525. Contiguous Array Medium
来源:互联网 发布:网络借贷资金存管 编辑:程序博客网 时间:2024/05/16 09:16
Given a binary array, find the maximum length of a contiguous subarray with equal number of 0 and 1.
思路:为了找0,1数量相同的最长子列,题目也有tag使用hash表,我们用map充当hash表,希望用和的形式表示出0,1的数量相同,我们将数组里的0全部换为-1,这样的话-1 + 1的最大子列就是和为0的时候,若最大子列无法使得和为0,这个和一定是之前出现过的,就是说一定是-1和1的数目相等前就出现过一次了,这样可以判断子列的长度。hash表中我们存放和sum以及对应此和的数组下标。
class Solution {public: int findMaxLength(vector<int>& nums) { if (nums.size() == 0) { return 0; } int result = 0, sum = 0; map<int, int>hash; hash[0] = -1; for(int i = 0; i < nums.size(); i++) { if (nums[i] == 0) { nums[i] = -1; } sum += nums[i]; map<int, int>::iterator it = hash.find(sum); if (it == hash.end()) { hash[sum] = i; } else { result = max(result, i - hash[sum]); } } return result; }};
0 0
- 525. Contiguous Array Medium
- LeetCode 525. Contiguous Array
- Leetcode 525. Contiguous Array
- 525. Contiguous Array
- 525. Contiguous Array
- 525. Contiguous Array
- [LeetCode]525. Contiguous Array
- 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
- Oracle plsql 查询时中文乱码
- java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
- leetCode刷题归纳-Divide and Conquer(241. Different Ways to Add Parentheses)
- JVM学习之类加载
- 欢迎使用CSDN-markdown编辑器
- 525. Contiguous Array Medium
- MyBatis 配置中那些值得注意的坑
- Android自定义View 一附<点,线,矩形,扇形和文字的简单用法>
- 泛型(二)->擦除&擦除带来的问题
- ubuntu 常见错误--Could not get lock /var/lib/dpkg/lock
- python 按普通字典排序(小写字母,排在大写字母前)
- Heater
- 大端模式和小端模式
- 系统项目集成管理