网络监控:带时间戳的数据包聚合
Rust
Hard
structs
任务 «网络监控:带时间戳的数据包聚合»
设计一个用于存储网络数据包数据的 Packet 结构体:标识符(u32)、大小(u32)、时间戳(u64,毫秒)。实现一个 aggregate 函数,该函数接收一个数据包向量,并返回一个 AggregatedInfo 结构体向量:时间间隔(start_ts, end_ts,其中差值 <= 1000 毫秒)、数据包数量、总大小、平均大小(四舍五入为整数)。各时间间隔不得重叠,且应覆盖所有数据包。如果没有数据包,则返回空向量。保证数据包已按时间戳升序排序。
输入格式
第一行:整数 n (0 <= n <= 10000) — 数据包的数量。接下来 n 行,每行:id size timestamp(整数,用空格分隔)。
输出格式
对于每个时间间隔,输出一行:start_ts end_ts count total_size avg_size。如果没有数据包,则输出 'No data'。
示例
示例 1
输入
1 10
输出
30
main.rs