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

【每日一题】 LeetCode 3719. 最长平衡子数组 I

给你一个整数数组 nums

如果子数组中不同偶数的数量等于不同奇数的数量,则称该子数组是平衡的。

返回最长平衡子数组的长度。

子数组是数组中连续且非空的一段元素序列。

保证 nums.size() 不超过 \(\mathbf{1500}\),数组中元素都是不超过 \(100000\) 的正整数。


考虑到数组长度很小,记 \(n\)nums.size(),直接枚举 \(O(n^2)\) 个区间,用 \(O(n)\) 的时间判断单个区间是否合法,时间复杂度为 \(O(n^3)\),不可接受。

发现如果固定左端点,扩展右端点时,可以利用先前的区间快速得到当前区间的合法性:维护哪些数已经出现,加入一个数,如果这个数是第一次出现,则记录其奇偶性。当奇数和偶数个数相同时,更新答案。

维护哪些数已经出现,可以使用哈希表或桶。使用桶时不能反复 assign(V + 1, 0),而应遍历刚刚加入的数进行删除。

时间复杂度 \(O(n^2)\),空间复杂度 \(O(n + V)\)\(V\) 为值域。

class Solution {
public:int longestBalanced(vector<int>& nums) {std::vector<int> cnt(100001);int ans = 0;int n = nums.size();for (int l = 0; l < n; ++l) {int par[] = {0, 0};for (int r = l; r < n; ++r) {if (cnt[nums[r]] == 0) {par[nums[r] & 1]++;}cnt[nums[r]]++;if (par[0] == par[1]) {ans = std::max(ans, r - l + 1);}}for (int r = l; r < n; ++r) {--cnt[nums[r]];}}return ans;}
};
http://www.jsqmd.com/news/367812/

相关文章:

  • Flink时间语义全解析:Event Time、Processing Time和Ingestion Time
  • python+django图片相册推荐系统可视化大屏vue_sdtwv 爬虫可视化
  • 能源管理AI优化:从POC到规模化应用的完整路径
  • 大数据领域数据服务:优化业务决策的有效途径
  • Cesium进阶教程(1)在cesium后处理中使用shadertoy的代码
  • U-Net登上Nature封面!谷歌这波颠覆性改进太值得学习了
  • Cesium进阶教程(2)线性高度雾
  • JVM的内存结构
  • 《effective python》- python默认参数
  • 基于SpringBoot的海洋航运管理系统开题报告
  • 降AIGC率8款AI工具,赶due党速码!
  • 8款AI降AIGC率神器,赶due急救指南!
  • LeetCode 3719.最长平衡子数组 I:I先(几乎)暴力了
  • 农业遥感平台如何通过wangEditor实现GeoTIFF图像转存?
  • 2026 年招聘新趋势:AI 简历筛选工具成企业标配
  • 袁家界・天子山・金鞭溪:张家界一日精华叙事
  • 2026 年企业数字化转型必备!智慧人力系统核心功能与应用场景解析
  • 原始云杉林环绕的秘境,藏着丽江的干净与辽阔
  • 医院电子病历如何用TinyMCE处理PDF签名跨平台Word导入?
  • 有没有基于ASP.NET Core的大文件上传组件支持文件夹的断点续传?
  • 放化疗相关口腔黏膜炎治疗用药护理指南,改善春节进食体验!
  • 企业招聘提效:AI 简历筛选工具优化转化率的核心策略
  • 金融行业ASP.NET大文件上传解决方案中如何加入断点续传功能?
  • 从 0 到 1 教你用 AI 简历筛选工具,设置科学的多维度人才评估标准
  • ICM20948 设备树完整指南
  • Vibe Coding学习笔记(1):与AI结对编程,开发者的“翻译官”与“科技导演”必修课
  • 计算机毕业设计springboot基于WEB的云南省旅游网站 滇域行旅——基于SpringBoot的云南文旅服务一体化平台 云游滇境——基于微服务架构的云南智慧旅游信息门户
  • 【YOLOv8多模态涨点改进】独家创新首发 | TGRS 2025 | 引入UMIS-YOLO中的RFF残差特征融合模块,通过残差连接和多尺度特征融合,优化了目标边界的精确度,适合实例分割、小目标检测
  • 计算机毕业设计springboot基于Java的建筑物保护管理系统 基于SpringBoot的历史建筑数字化保护与运维平台 Java驱动的古建筑智能监测与修缮管理系统
  • 8款AI降AIGC率工具,赶due党速收藏!