力扣2444.统计定界子数组的数目

力扣2444.统计定界子数组的数目

  • 观察到不满足条件的数 可以作为天然的分割线

    • 因此在枚举右端点的过程中 预处理minK,maxK和分割线上一次出现的下标

    • res += min(min_i,max_i) - i0;

    • 但是因为可能在到下个区段时 min_i和max_i尚未更新 导致结果为负数

    • 所以要跟0再取一个max

    • res += max(min(min_i,max_i)-i0,0)

  • 方便计算

    • 初始化i0 = -1;
cpp 复制代码
  class Solution {
  public:
      long long countSubarrays(vector<int>& nums, int minK, int maxK) {
          long long res=0;
          int n = nums.size(),min_i = -1,max_i = -1,i0 = -1;
          for(int i=0;i<n;i++)
          {
              int x = nums[i];
              if(x == minK) min_i = i;
              if(x == maxK) max_i = i;
              if(x < minK || x > maxK) i0 = i;
              res += max(min(min_i,max_i)-i0,0);
          }
          return res;
      }
  };
相关推荐
沪漂阿龙1 天前
大模型采样策略终极指南:Top-k、Top-p与结构化输出最佳实践
人工智能·算法·机器学习
DeepModel1 天前
【回归算法】局部加权回归(LWR)详解
人工智能·算法·回归
浅念-1 天前
C++ STL list 容器
开发语言·数据结构·c++·经验分享·笔记·算法·list
重生之后端学习1 天前
39. 组合总和
java·数据结构·算法·职场和发展·深度优先
Frostnova丶1 天前
LeetCode 868. 二进制间距
算法·leetcode
nix.gnehc1 天前
深入理解Go并发核心:GMP模型与Goroutine底层原理
开发语言·算法·golang
心本无晴.1 天前
RAG中的混合检索(Hybrid Search):稀疏检索与稠密检索的强强联合
人工智能·python·算法
你的论文学长1 天前
对抗知网的 N-Gram 算法:基于语义解耦的【文本重构】与【事实性核验】架构设计
人工智能·算法·重构
WW_千谷山4_sch1 天前
MYOJ_7788:(洛谷P3387)【模板】缩点(有关强连通分量)
c++·算法·深度优先·动态规划·图论·拓扑学
小O的算法实验室1 天前
2026年IEEE TCYB SCI1区TOP,少即是多:一种用于大规模优化的小规模学习粒子群算法,深度解析+性能实测
算法·论文复现·智能算法·智能算法改进