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

leetcode 907. Sum of Subarray Minimums 子数组的最小值之和-内存100

Problem: 907. Sum of Subarray Minimums 子数组的最小值之和

内存100%,统计了每个数字的贡献,像 3 1 2 4, 3只贡献了1次,1贡献了 2 * 3 = 6 次,2贡献了2次,4贡献了1次

上面1的贡献次数,是统计左侧>=1的个数=2(3 1和1),统计右侧<=1的个数=3(1和1 2和1 2 4),

当出现相邻重复数字的时候,像3 3,只统计左侧==,共3个子数组(3, 3 3, 3)

Code

class Solution { public: const int modulo = 1e9 + 7; int sumSubarrayMins(vector<int>& arr) { int l, r, n = arr.size(); long long sum = 0; for(int i = 0; i < n; i++) { l = i - 1; r = i + 1; while(l >= 0 && arr[l] >= arr[i]) l--; while(r < n && arr[r] > arr[i]) r++; sum += ( ((long long)arr[i] * (long long)(i - l) * (long long)(r - i)) % modulo ); sum %= modulo; } return sum; } };

官方题解使用单调栈,求出了每个数字左右的长度,时间复杂度减少到O(n)

class Solution { public: const int modulo = 1e9 + 7; int sumSubarrayMins(vector<int>& arr) { int l, r, n = arr.size(); long long sum = 0; vector<int> stackmono; vector<int> left(n), right(n); for(int i = 0; i < n; i++) { while(stackmono.size() > 0 && arr[i] <= arr[stackmono.back()]) { stackmono.pop_back(); } left[i] = i - (stackmono.size()==0? -1 : stackmono.back()); stackmono.emplace_back(i); } stackmono.clear(); for(int i = n-1; i >= 0; i--) { while(stackmono.size() > 0 && arr[i] < arr[stackmono.back()]) { stackmono.pop_back(); } right[i] = (stackmono.size()==0? n : stackmono.back()) - i; stackmono.emplace_back(i); } for(int i = 0; i < n; i++) { sum = (sum + (long long)arr[i] * (long long)left[i] * (long long)right[i]) % modulo; } return sum; } };
http://www.jsqmd.com/news/346700/

相关文章:

  • 划重点!软考高项备考忠告:春节前搞定基础,资源管理考点快吃透!附思维导图
  • 实用指南:Linux 逻辑卷(磁盘自动扩容)
  • 2026年东莞搏击培训机构推荐榜:专业/业余/少儿/特训课程全解析,综合实力与口碑优选 - 品牌企业推荐师(官方)
  • iam-tenant 服务
  • 2026年 东莞散打培训推荐榜单:专业散打/少儿散打/周末散打/特训散打/武术格斗,实力机构精选与特色课程深度解析 - 品牌企业推荐师(官方)
  • 2026年直线电机模组公司权威推荐:高速直线电机/三轴滑台模组/丝杆滑台模组/微型滑台模组/微型直线电机/电动滑台模组/选择指南 - 优质品牌商家
  • 2026年热缩套管厂家最新推荐:密封防水热缩管/异形热缩管/氟橡胶热缩套管/硅胶热缩套管/硅胶热缩管/耐油橡胶热缩套管/选择指南 - 优质品牌商家
  • 硕士论文AIGC检测全流程实录:从焦虑到通过的30天 - 我要发一区
  • 2026国内最新草本防脱洗发水品牌TOP5推荐:专业防脱洗护企业权威榜单,精准适配多场景护发需求 - 品牌推荐2026
  • Shell编程三部曲【20260305】
  • 智泊AI:春招AI岗堪比捡钱!20k都是白菜价~
  • 为什么传统数据库不够用,向量数据库如何补位?
  • 2026年 毛绒印花厂家推荐排行榜:渗透印花/直喷渗透印花/毛绒印花面料/渗透印花面料,揭秘创新工艺与卓越品质的行业标杆 - 品牌企业推荐师(官方)
  • 2026广州最新英国留学升学机构TOP5推荐:大湾区优质留学培养机构权威榜单发布,适配多元需求,助力学子圆梦海外 - 品牌推荐2026
  • Trae IDE 隐藏玩法:接入即梦 AI,生成高质量大片!
  • 2026年玉溪花香蓝莓公司权威推荐:云南花香蓝莓、云南蓝莓、澄江花香蓝莓、玉溪蓝莓、澄江蓝莓、玉溪花香蓝莓选择指南 - 优质品牌商家
  • AI应用架构师须知:企业AI风险防控的5大技术趋势
  • 2026年评价高的玉米色选机公司推荐:咖啡豆色选机、塑料色选机、大米色选机、履带色选机、杂粮色选机、瓜子色选机选择指南 - 优质品牌商家
  • 2026国内最新草本防脱精华产品TOP5推荐:优质防脱护理优质品牌权威榜单发布,精准适配多元发质,守护秀发健康 - 品牌推荐2026
  • Pytest Fixture 作用域与接口测试 Token 污染问题实战解析
  • 2026国内最新草本防脱精华产品TOP5推荐:优质防脱护理品牌权威榜单发布,精准适配多元发质,守护秀发健康 - 品牌推荐2026
  • 04. 卷积神经网络
  • 论文AIGC检测前必做的10项自查清单 - 我要发一区
  • 2026年四川养老新趋势:当“医养结合”成为刚需,这几家西南标杆机构值得关注 - 深度智识库
  • 想让大模型更懂你?从原理到实践,详解高效微调的全流程
  • 2026年直线电机厂家推荐:三轴滑台模组/丝杆滑台模组/微型滑台模组/微型直线电机/电动滑台模组/直线滑台模组/选择指南 - 优质品牌商家
  • uniapp在app端扫码核销(支持自定义内容)
  • AIGC疑似率和传统查重率的本质区别,一文彻底搞懂 - 我要发一区
  • AIGC检测误判怎么申诉?一份完整的申诉指南 - 我要发一区
  • 基于Python网易云排行榜数据分析系统设计与实现(源码+lw+部署文档+讲解等)