首页 > 试题广场 >

连续数组的长度

[编程题]连续数组的长度
  • 热度指数:414 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给定一个仅由0,1构成的整数数组nums,请返回0和1个数相同的最长子数组的长度。

示例1

输入

[0,1]

输出

2

说明

数组中0,1的个数相同且子数组最长为原数组 
示例2

输入

[0,0,1,0,0,0,1,1]

输出

6

说明

从第3个数到第8个数构成的子数组中0,1的个数相同且该子数组最长 
头像 一碗阳春面CY
发表于 2022-04-13 11:59:36
解题思路,分两步: 计算每一位的01差,观察各位数之间的关系 计算相同差位数之间的距离 现在有一个数组:[0,0,1,0,0,0,1,1] 对数组进行01差计算,数值为0时水平+1,数值为1时水平-1。计算结果为:[1,2,1,2,3,4,5,4,3] 对计算结果进行分析,我们 展开全文
头像 姐姐的遮阳伞
发表于 2022-04-08 14:16:35
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param nums int整型ArrayList 展开全文
头像 fred-coder
发表于 2022-03-02 16:37:56
利用哈希表,由于数组中只有0、1,将0全都替换为 -1,则最长的 0,1 子数组就位和为 0 的最长数组长度,利用哈希表值得索引,当和 s 再次出现时,减去响应索引得到最终的值 # # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param nums i 展开全文

问题信息

难度:
1条回答 1016浏览

热门推荐

通过挑战的用户

查看代码