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

5.24华为OD机试真题 新系统 - 最小请求间隔限流策略 (JavaPyCC++JsGo)

最小请求间隔限流策略

2026 华为OD机试真题 5月24日华为OD上机新系统考试真题 100 分题型

点击查看华为 OD 机试真题完整目录:2026最新华为OD机试新系统卷 + 双机位C卷 真题题库目录|全覆盖题库 + 逐点算法考点详解

题目描述

在微服务网关中,为了防止某个用户短时间内发送过多请求,通常会采用最小请求间隔限流策略:即同一个用户相邻两个请求的时间戳之差必须大于等于 minInterval 秒。例如,若 minInterval=2,则请求时间戳为 1 和 3 可以同时通过(差为 2),但 1 和 2 不能同时通过(差为 1)。

现有一批属于同一用户的请求,每个请求带有一个时间戳(单位:秒,整数)。网关需要从这批请求中挑选一部分放行,使得任意两个被放行的请求时间差都 ≥minInterval。请你计算一共有多少种合法的放行方案(包括空集)。

例如,请求时间戳为 [1,3,4],minInterval=2,则合法的放行方案有:[]、[1]、[3]、[4]、[1,3]、[1,4],共6种(注意 [3,4] 非法,因为差为 1<2)。

2026 华为OD机试真题 5月24日华为OD上机新系统考试真题 100 分题型

输入描述

  • int[] timestamps:整数数组,表示每个请求的时间戳(可能乱序,无重复)。
  • int minInterval:最小允许的请求间隔(秒),minInterval≥1。

输出描述

  • int:合法放行方案的总数。

数据规模

  • 1≤timestamps.length≤15
  • 时间戳取值范围:0≤timestamp≤109
  • minInterval 为正整数

示例1

输入

[1,2,4],2

输出

6

说明

合法方案:[]、[1]、[2]、[4]、[1,4]、[2,4],共 6 种

示例2

输入

[10],5

输出

2

说明

合法方案:[]、[10],共 2 种

解题思路

核心思想

本题的核心在于枚举所有可能的放行方案,并验证其合法性。

关键观察:1. 给定 n 个请求时间戳 (1 ≤ n ≤ 15),我们可以枚举所有可能的放行子集 2. 对于每个子集,需要验证任意两个被选中的时间戳之间的间隔都 ≥ minInterval 3. 由于 n ≤ 15,最多有 2^15 = 32768 个子集,直接枚举完全可行

算法步骤

  1. 排序处理:将时间戳数组按升序排列。排序后,间隔问题变得更容易处理。

  2. 位掩码枚举:使用 0 到 (1 << n) - 1 的整数作为掩码,其中: - 第 i 位为 1 表示选择第 i 个时间戳 - 第 i 位为 0 表示不选择第 i 个时间戳

  3. 合法性检查:对于每个掩码表示的方案,检查任意两对被选中时间戳的间隔是否都 ≥ minInterval。

  4. 计数统计:统计所有合法方案的数量。

复杂度分析

  • 时间复杂度:O(n × 2^n)
  • 共有 2^n 个子集
  • 对每个子集需要 O(n²) 的时间检查间隔
  • 由于 n ≤ 15,32768 × 225 ≈ 740万次操作,可接受

  • 空间复杂度:O(n)

  • 主要用于存储排序后的时间戳和临时选中的子集

正确性证明

定理:算法返回的计数等于所有满足最小间隔约束的放行方案数量。

证明: 1.完备性:算法遍历了所有 2^n 个可能的放行方案(包括空集),因为每个请求有"放行"或"不放行"两种状态。

  1. 正确性检查:对于每个方案,算法检查所有任意两对时间戳 (i, j),确保 timestamps[j] - timestamps[i] ≥ minInterval。由于时间戳已排序,只需检查相邻元素即可。

  2. 计数准确:只有通过合法性检查的方案才会被计入答案,因此最终计数恰好是合法方案的数量。

**Q.E.

http://www.jsqmd.com/news/1324356/

相关文章:

  • 卡尔曼滤波原理与Simulink实践:从动画直观理解到工程实现
  • Unity C#源码深度解析:从API调用到引擎原理的进阶指南
  • 物流供应链数字化转型:挑战与四维重构策略
  • 深入解析JavaScript底层原理与V8引擎优化
  • 终极英雄联盟战绩查询工具:Seraphine智能助手完全指南
  • WebP图片格式优势与批量转换工具全解析
  • FastAPI + OpenAI SDK 实战:接入 DeepSeek 大模型与流式问答全流程拆解
  • VAE中KL散度推导:从多元高斯到一元标准正态的完整解析
  • 2026 年当下,卓资专业的弯头供应厂家哪家可靠,那玩意儿竟能让水管省出3成空间?90%的装修师傅都没摸透的秘密。-江东管道 - 品质体验官
  • C++多线程编程实战:从std::thread到并发安全与性能优化
  • 服装CAD模板制作实战:MJT工具箱偏移改色O9功能深度解析
  • 从零拆解RoboCup2D智能球队架构:模块化设计与多智能体协作
  • Linux环境下Nginx安装配置全攻略:从基础部署到性能调优
  • COMSOL远场偏振计算在工程中的应用与优化
  • SpringBoot+Vue摄影设备租赁系统开发实践
  • DLSS Swapper完全指南:3步掌握游戏画质升级技巧
  • AI生成检测误判?我折腾了3天的内容降重实操记录
  • 生物素-全反式维甲酸Biotin-Retinoic Acid, Biotin-ATRA亲和探针
  • 2026 年现阶段陕西诚信的15CrMo耐热圆钢供货厂家哪个好,这种在高温下扛得住的“黑棒”,到底有啥工业场景离不了? - 行业推荐官[官方】--
  • C语言三数排序:从基础逻辑到指针与qsort的四种实现方案
  • 大模型 RAG 实战:一文搞懂 Embedding 语义向量与向量数据库(Milvus 落地)
  • 梅州CMA甲醛检测公司公共卫生检测怎么选:国慷测研避坑指南 - 信誉隆金银铂奢回收
  • SQLAlchemy 学习与使用
  • 大模型应用安全实战:构建多层防护体系应对恶意Prompt与越权攻击
  • 英雄联盟Seraphine助手:免费开源智能BP与战绩查询终极指南
  • Windows 10启动修复:当自动修复失败时,手动重建BCD与启动文件
  • ITIL 4实践落地的困境与破局策略
  • C语言内存操作函数详解与性能优化
  • 欧姆龙CP1E PLC选型、编程与实战应用全解析
  • 基于Hermes Agent构建AI数字员工:从智能体框架到实战部署