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

918. 环形子数组的最大和

这道题我们用双端队列解决。首先将数组扩展为两倍,用i%n即可成立,然后使用前缀和去求解最大的字串和。

prei是固定的所以每次找到最小的prej即可,再将每次最大的值放到res中即可。并且要维护这个队列使其递增,这样每次取头部元素即可,因为长度不超过n,所以i-j小于n的就出队,并且前缀和大于当前前缀和的从尾部出队,这要可以保证递增性,也能保证不丢失可能存在的解。

class Solution { public: int maxSubarraySumCircular(vector<int>& nums) { int n=nums.size(); int pre=nums[0],res=nums[0]; deque<pair<int,int>> q; q.push_back({0,pre}); for(int i=1;i<2*n;i++){ while(!q.empty()&&q.front().first<i-n){ q.pop_front(); } pre+=nums[i%n]; res=max(res,pre-q.front().second); while(!q.empty()&&q.back().second>=pre){ q.pop_back(); } q.push_back({i,pre}); } return res; } };
http://www.jsqmd.com/news/470295/

相关文章:

  • JavaScript性能优化实战孟盎
  • 筑牢 AI Agent 关键业务落地的生命线:数据治理与 AI 治理的全体系解析与落地指南
  • 字节一面---客户端开发实习生
  • JavaScript性能优化实战郊蒲
  • 2026年数智项目管理品牌格局观察:平台化与业财融合趋势
  • 2026年四川达州渠县TOP1电器门店:品类超120种堪称全城最全?
  • 比赛吗,就应该有比赛的样子。规则不能够太容易了
  • 跟我学C++中级篇—悲观和乐观锁
  • OpenClaw 生态网站导航推荐
  • Python电商全维数据智能分析与随机森林销量预测系统 Django 可视化 机器学习 爬虫 大数据 大模型 agent 深度学习 计算机毕业设计源码(建议收藏)✅
  • Ruby 类案例
  • Windows实操
  • 嘎嘎降AI为什么能支持9大检测平台?多平台兼容的秘密
  • 双系统安装
  • 基于 PLC 的工业锅炉过程控制程序设计及其仿真
  • 基于离散韦格纳分布(DWVD)结合卷积神经网络(CNN)与长短期记忆网络(LSTM)的故障诊断研究附Matlab代码
  • 2026年口碑好的电动喷泵推进器厂家推荐:东莞冲浪板电动喷泵/卡丁船电动喷泵推进器行业内口碑厂家推荐 - 行业平台推荐
  • OpenClaw 入门教程 | OpenClaw教程 | 第1篇
  • 673. 最长递增子序列的个数(序列dp)
  • 华沙理工大学突破性发现:让音乐生成变得可控
  • 2026年质量好的藤椒花椒油品牌推荐:四川花椒油/四川藤椒花椒油/四川无添加花椒油厂家推荐参考 - 行业平台推荐
  • JAVA开发Drools规则引擎使用
  • xxxxxxxxx
  • 2026年质量好的桥架厂家推荐:镀锌桥架厂家选购参考汇总 - 品牌宣传支持者
  • 最基础的 eBPF 示例程序 - Hello World
  • 机器人(AGV\AMR,机器狗)自动乘梯(梯控)开门(门禁又称为门控)还能加装人脸二维码刷卡识别吗?智能梯控系统通过统一主板实现电梯、门禁等设备的高效联动,采用模块化设计与物理逻辑隔离,确保安全与高效
  • 2026年知名的药厂气动物流传输系统品牌推荐:畜牧业气动物流传输系统/大连医用气动物流传输系统厂家推荐与采购指南 - 品牌宣传支持者
  • Kali与渗透测试基础
  • 2026年新疆栢顿沙发品牌推荐:栢顿家居/栢顿家居餐厅家具厂家汇总与采购指南 - 品牌宣传支持者
  • 解决超微 SuperMicro 主板风扇反复高低转速问题