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

力扣1248.统计优美子数组

力扣1248.统计优美子数组

  • 同930.

哈希表法

  • 求前缀和

  •   class Solution {public:int numberOfSubarrays(vector<int>& nums, int k) {int n = nums.size();unordered_map<int,int> cnt;int res=0,sum=0;for(int i=0,j=0;i<n;i++){cnt[sum] ++;if(nums[i] & 1) sum ++;res += cnt[sum - k];}return res;}};
    

多指针法

  • 用两个左指针卡左边可取的区间范围

  •   class Solution {public:int numberOfSubarrays(vector<int>& nums, int k) {int n = nums.size();int res=0,s1=0,s2=0;for(int i=0,j1=0,j2=0;i<n;i++){int x = (nums[i] & 1);s1 += x;s2 += x;//s1 --> s1 < kwhile(j1 <= i && s1 >= k) s1 -= (nums[j1++] & 1);//s2 --> s2 == kwhile(j2 <= i && s2 > k) s2 -= (nums[j2++] & 1);//此时j1的位置比j2靠右res += j1 - j2;}return res;}};
    
http://www.lryc.cn/news/367657.html

相关文章:

  • AI2THOR 2.1.0使用教程
  • 在Nginx中配置php程序环境。
  • !力扣70. 爬楼梯
  • Spring boot+vue前后端分离
  • Python基础总结之列表转字符串
  • 二分【1】二分查找框架 查找指定元素
  • Python 中如何使用 lambda 函数
  • 关于焊点检测(SJ-BIST)模块实现
  • 关于修改Python中pip默认安装路径的终极方法
  • android集成百度文心一言实现对话功能,实战项目讲解,人人都能拥有一款ai应用
  • 事件总线vueEvent
  • 设计模式之观察者模式ObserverPattern(十一)
  • JavaScript 编程语言【 数据类型】日期和时间
  • RabbitMQ简单使用方法,以异步处理日志为例:
  • 二分+模拟,CF1461D - Divide and Summarize
  • C#操作MySQL从入门到精通(16)——使用子查询
  • 【vue实战项目】通用管理系统:图表功能
  • 第99天:权限提升-数据库提权口令获取MYSQLMSSQLOracleMSF
  • Java 环境配置 -- Java 语言的安装、配置、编译与运行
  • 升级最新版openssh-9.7p1及openssl-1.1.1h详细步骤及常见问题总结
  • 学习使用 Frida 过程中出现的问题
  • Java实现简单词法、语法分析器
  • Python实现半双工的实时通信SSE(Server-Sent Events)
  • python中的解包操作(*和**)
  • Lua 时间工具类
  • Qt——Qt网络编程之TCP通信客户端的实现(使用QTcpSocket实现一个TCP客户端例程)
  • Qt信号槽与函数直接调用性能对比
  • Python中的异常处理:try-except-finally详解与自定义异常类
  • vscode软件上安装 Fitten Code插件及使用
  • 人工智能小作业