力扣3026.最大好子数组和

力扣3026.最大好子数组和

  • 一次遍历

    • 求前缀和的同时 哈希表key为元素值 value为前缀和
    • 始终保证cnt[key]的前缀和最小
cpp 复制代码
  class Solution {
  public:
      long long maximumSubarraySum(vector<int>& nums, int k) {
          long long res = LLONG_MIN , sum = 0;
          unordered_map<int,long long> min_s;
          for(int x : nums)
          {
              //找x + k的位置
              auto it = min_s.find(x + k);
              if(it != min_s.end())
                  res = max(res,sum + x - it->second);
              //找x - k的位置
              it = min_s.find(x - k);
              if(it != min_s.end())
                  res = max(res,sum + x - it->second);
              //找x的位置
              it = min_s.find(x);
              if(it == min_s.end() || sum < it->second)
                  min_s[x] = sum;
              //求当前遍历过元素的和
              sum += x;
          }
          return res == LLONG_MIN ? 0 : res;
      }
  };
相关推荐
_日拱一卒1 分钟前
LeetCode:437路径总和Ⅲ
算法·leetcode·职场和发展
专注API从业者15 分钟前
用 Open Claw + 淘宝商品接口,快速实现电商商品监控与智能选品(附完整代码)
大数据·前端·数据结构·数据库
♡すぎ♡17 分钟前
ShaderLab:PBR+IBL(ShaderToy Translation)
算法·计算机图形学·着色器·pbr·ibl
Shadow(⊙o⊙)19 分钟前
前缀和:和可被K整除的子数组(normal)
数据结构·c++·算法
世纪末的小黑23 分钟前
【LeetCode自用】LeetCode自用记录贴,题目一:两数之和
数据结构·算法·leetcode
兰令水24 分钟前
topcode【随机算法题】【2026.5.22打卡-java版本】
java·算法·leetcode
努力努力再努力wz31 分钟前
【Redis入门系列】:Redis 内部编码机制与 String 深度解析:SDS 底层实现、三种编码与核心命令详解
c语言·开发语言·数据结构·数据库·c++·redis·缓存
Brilliantwxx33 分钟前
【C++】 认识STL set与map(基础接口+题目OJ运用)
开发语言·数据结构·c++·笔记·算法
05候补工程师35 分钟前
【线性代数】核心考点复习笔记:二次型配方法、施密特正交化步骤与特征值经典题型详解
经验分享·笔记·线性代数·考研·算法
Deep-w38 分钟前
【MATLAB】基于遗传算法的直流电机 PI 控制器参数优化研究
开发语言·算法·matlab