2024华为OD机试E卷 - 响应报文时间 100分

2024华为OD机试真题及代码注释

2024华为OD机试真题,包含JAVA、JS、Python、C语言代码基本都有详细注释。

题目描述

IGMP协议中,有一个字段称作最大响应时间(Max Response Time),

HOST收到查询报文,解折出MaxResponsetime字段后,需要在(0,MaXxResponseTime]时间(s)内选取随机时间回应一个响应报文,如果在随机时间内收到一个新的查询报文,

则会根据两者时间的大小,选取小的一方刷新回应时间。

最大响应时间有如下计算方式:

当Max Resp Code < 128, Max Resp TimeQ = Max Resp Code;当Max Resp Code ≥ 128,

Max Resp Time = (mant | Ox10)<<(exp + 3);

注: exp最大响应时间的高5~7位: mant为最大响应时间的低4位。

其中接收到的MaxRespCode 最大值Q为255,以上出现所有字段均为无符号数。

现在我们认为HOST收到查询报文时,选取的随机时间必定为最大值,现给出

HOST收到查询报文个数C,HOST收到该报文的时间T,以及查询报文的最大

响应时间字段值M,请计算出HOST发送响应报文的时间。

输入描述

第一行为查询报文个数C,后续每行分别为HOST收到报文时间T,及最大响应时间M,以空格分割

输出描述

HOST发送响应报文的时间。

用例
### 关于华为ODE中的斗地主之顺子题目 #### 题目背景 华为ODE作为最新版本的考试,在继承原有ABCD的基础上加入了新的题目类型。其中,“斗地主之顺子”是一个典型的算法设计类问题,主要考察考生对于数组操作、排序以及逻辑判断的能力[^1]。 #### 题目描述 给定一组扑克牌编号列表(假设每张牌都有唯一的整数编号),要求从中找出最长的一组连续顺子序列。所谓顺子是指一系列按顺序排列的数字,例如 `[3, 4, 5, 6, 7]` 是一个长度为5的顺子。需要注意的是,输入数据可能包含重复项或者缺失某些中间值的情况。程序应返回能够构成的最大顺子长度及其起始位置[^2]。 #### 解决方案概述 解决该问题的关键在于如何高效处理数据并识别出符合条件的子序列。以下是具体实现方法: 1. **去重与排序**: 使用集合(Set)去除掉所有重复元素后再将其转换成有序形式以便进一步计算。 2. **动态规划思想应用**: 创建辅助变量记录当前已知最大顺子长度以及临时计数值用于遍历过程中的实时跟踪。 3. **边界条件考虑**: 特殊情况如只有一个唯一元素时需单独讨论以防错误判定。 下面给出基于 Python 的解决方案代码示例: ```python def longest_consecutive(nums): if not nums: return 0 num_set = set(nums) # 去除重复元素 max_length = 0 for num in num_set: if num - 1 not in num_set: # 只有当num是某个潜在顺子的第一个成员才进入此支 current_num = num current_streak = 1 while current_num + 1 in num_set: # 寻找下一个相连的数字直到找不到为止 current_num += 1 current_streak += 1 max_length = max(max_length, current_streak) return max_length # 测用例 test_case = [100, 4, 200, 1, 3, 2] print(longest_consecutive(test_case)) # 输出应该是4因为存在[1, 2, 3, 4] ``` 上述函数通过构建无序集合来快速查找是否存在相邻数字,并利用简单的循环结构实现了时间复杂度接近O(n)的效果。 #### 复杂度- 时间复杂度:由于采用了哈希表(set)来进行常量级查询操作,整体流程大致维持在线性级别即 O(N),这里 N 表示原始数组大小。 - 空间复杂度:额外开辟了一个同等规模的空间存储独一无二的数据副本因此也是 O(N)[^2]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值