力扣3026.最大好子数组和

力扣3026.最大好子数组和

  • 一次遍历

    • 求前缀和的同时 哈希表key为元素值 value为前缀和
    • 始终保证cntkey的前缀和最小
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;
      }
  };
相关推荐
shehuiyuelaiyuehao3 小时前
算法31,前缀和,可被k整除的子数组
数据结构·python·算法
203号居民4 小时前
LeetCode hot 100 — 141. 环形链表2
算法·leetcode·链表
玖玥拾5 小时前
LeetCode 202 快乐数
算法·leetcode
LuminousCPP5 小时前
数据结构-二叉树(六):BFS层序遍历与完全二叉树判断|复用链式队列 + (N_0=N_2+1) 性质证明
c语言·数据结构·笔记·算法·二叉树·宽度优先
ZhouDevin6 小时前
算法论文/数据集3——CLD(TMLR2025)压缩训练集,仅保留对验证集有益的样本
人工智能·深度学习·算法·计算机视觉
Tim_106 小时前
【LeetCode】29、两数相除
算法·leetcode·职场和发展
纪念 2296 小时前
数据结构排序(三)
数据结构
船厂电气自动化ai大模型7 小时前
AI大模型与数学/第63课:矩阵定义、矩阵加法、标量乘法(逐级精讲)
数据结构·人工智能·深度学习·线性代数·算法
余额瞒着我当琳7 小时前
算法修炼 chapter 2 双指针进阶、盛最多水的容器、有效三角形的个数、两数之和、三数之和、四数之和
算法
你压到我腿毛了6667 小时前
C语言冒泡算法(Bubble sort)
c语言·数据结构·算法