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

力扣2488.统计中位数为 K 的子数组

力扣2488.统计中位数为 K 的子数组

  • 等价转换

    • 子数组为奇数 : 左小 + 右小 = 左大 + 右大
      • 左小 – 左大 = 右大 – 右小
    • 子数组为偶数 : 左小 + 右小 = 左大 + 右大 – 1
      • 左小 – 左大 = 右大 – 右小 - 1
      • 提示中说明k为两数中左边那个
    • 先从k的下标pos开始往左逆序求左权值
    • 再从pos开始往右正序求有权值
      • 求的过程中res加上以当前i为右端点的奇偶两种区间
  •   class Solution {public:int countSubarrays(vector<int>& nums, int k) {int pos = find(nums.begin(),nums.end(),k) - nums.begin();  unordered_map<int,int> cnt{{0,1}};for(int i= pos - 1,x=0;i>=0;i--){//左小为1 左大为-1x += nums[i] < k ? 1 : -1;cnt[x] ++;}int res = cnt[0] + cnt[-1];for(int i=pos + 1,x=0;i<nums.size();i++){//右大为1 右小为-1x += nums[i] > k ? 1 : -1;//一奇一偶res += cnt[x] + cnt[x - 1];}return res;}};
    
http://www.lryc.cn/news/391291.html

相关文章:

  • Zabbix对接Elasticsearch(ES)数据库(未成功)
  • 【unity实战】使用Unity实现动作游戏的攻击 连击 轻重攻击和打击感
  • ELK 企业实战7
  • linux 下neo4j的安装
  • Flink ProcessFunction不同流异同及应用场景
  • Matplotlib 文本
  • 信创产业政策,信创测试方面
  • 微信云数据库迁移到unicloud云数据库
  • 快速上手文心一言指令
  • 零基础STM32单片机编程入门(五)FreeRTOS实时操作系统详解及实战含源码视频
  • leetCode.96. 不同的二叉搜索树
  • PyAutoGUI 使用详解
  • MySQL——备份
  • 科东软件精彩亮相华南工博会,展现未来工业前沿技术
  • 详解flink sql, calcite logical转flink logical
  • PostgreSQL的系统视图pg_statio_all_indexes
  • 【C++ Primer Plus学习记录】函数和C-风格字符串
  • 力扣双指针算法题目:移动零
  • day60---面试专题(微服务面试题-参考回答)
  • laravel+phpoffice+easyexcel实现导入
  • Spring Boot集成多数据源的最佳实践
  • Java项目:基于SSM框架实现的班主任助理管理系统【ssm+B/S架构+源码+数据库+开题报告+毕业论文】
  • 数据在内存中的存储方式
  • Selenium 监视数据收发
  • 基于 STM32 的智能睡眠呼吸监测系统设计
  • Spring的事务管理、AOP实现底层
  • 基于SpringBoot的篮球竞赛预约平台
  • 学生用小台灯什么牌子的好?列举出几款学生用台灯推荐
  • 软件测试面试题:项目中的MQ是如何测试的?
  • Python爬取国家医保平台公开数据