当前位置: 首页 > java >正文

【前缀和】连续数组

在这里插入图片描述

525. 连续数组

525. 连续数组

​ 给定一个二进制数组 nums , 找到含有相同数量的 01 的最长连续子数组,并返回该子数组的长度。

示例 1:

输入: nums = [0,1]
输出: 2
说明: [0, 1] 是具有相同数量 0 和 1 的最长连续子数组。

示例 2:

输入: nums = [0,1,0]
输出: 2
说明: [0, 1] (或 [1, 0]) 是具有相同数量0和1的最长连续子数组。

提示:

  • 1 <= nums.length <= 105
  • nums[i] 不是 0 就是 1

解题思路

​ 这道题如果用暴力解法的话,就是枚举所有的情况进行判断最大长度,但显然我们不会这么做的!

​ 其实这道题要想快速求解的话,我们需要转换一下题意,这个还是比较难想到的!因为这道题的数组中只有 01,那么只要 将数组中的 0 都转化为 -1,就变成了我们去求数组中和为 0 的一段连续子数组,即变成了 560. 和为 K 的子数组 这道题的特殊情况了!只不过有一些细节问题,因为这道题要求的是长度,而不是个数,所以我们要稍微修改一些细节!

​ 细节修改如下所示:

  1. 哈希表中存放什么❓❓❓
    • 首先哈希表的第一个元素,肯定存放的还是 前缀和的大小,而第二个元素就不一样了,这次要记录的是前缀和的长度,但是我们可以在遍历的时候再进行计算,所以这里第二个元素我们选择存放 此时的下标
  2. 什么时候存入哈希表❓❓❓
    • 这个和
http://www.xdnf.cn/news/4081.html

相关文章:

  • 支持图文混排的Gemini Next Chat
  • Linux 系统下VS Code python环境配置!
  • GPU性能加速的隐藏魔法:Dual-Issue Warp Schedule全解析
  • 国内短剧 vs. 海外短剧系统:如何选择?2025年深度对比与SEO优化指南
  • 高并发内存池------threadcache
  • WebService的学习
  • 电子邮件相关协议介绍
  • NetSuite 2025.1 学习笔记
  • Java基础学完,继续深耕(0505)Linux 常用命令
  • TS 类class修饰符
  • 接口测试过程中常见的缺陷详解
  • Go小技巧易错点100例(三十)
  • 算法刷题篇
  • 基于Redis实现优惠券秒杀——第3期(分布式锁-Redisson)
  • UniGetUI 使用指南:轻松管理 Windows 软件(包括CUDA)
  • 【Springboot知识】Springboot计划任务Schedule详解
  • 前端懒加载(Lazy Loading)实战指南
  • 旋转图像(中等)
  • RPC是什么
  • Linux文件复制命令精要指南:cp与scp详解
  • Three.js + React 实战系列 - 客户评价区细解教程 Clients 组件✨(回答式评价 + 评分星级)
  • 51c大模型~合集124
  • TS 类型兼容性
  • 乡村饮用水厂无线网络规划与设计:融合 LoRaWAN、5G、Mesh 的分层异构方案
  • unity TMP字体使用出现乱码方框
  • 最长回文子串(动规 + 中心拓展)
  • 反转字符串2
  • 杰理-JL701-充电开机,芯片不进入休眠
  • Spring Boot 中 @Bean 注解详解:从入门到实践
  • 无人机 | 无人机设计概述