小慕在开发一个微服务日志监控平台时,需要分析API调用记录。日志中包含大量重复的请求记录,为了优化存储和后续分析,小慕决定对相邻的重复请求进行合并统计。 1. 日志按时间顺序排列,每条记录包含「请求路径」和「响应时间」。 2. 若,需将这些记录合并为一条。 3. 合并后需统计该路径的连续出现次数;并保留所有响应时间的平均值()。 4. 若相同路径被其他路径分隔,视为不同记录组,需分别合并。 请帮助小慕实现一个函数,对给定的日志数据进行去重合并处理。
提示:带虚线的词点一下有通俗解释。
输入描述
String[] paths:请求路径数组(按时间顺序排列); int[] responseTimes:对应的响应时间数组(毫秒)。
输出描述
返回一个二维数组 int[][],每个子数组包含3个元素: - [0]:该路径在输入数组中的首次出现索引; - [1]:该路径的连续出现次数; - [2]:该组路径的平均响应时间(向下取整)。
示例
示例 1
输入
6 /api/user /api/user /api/order /api/user /api/order /api/order 100 200 150 300 250 350
输出
0 2 150 2 1 150 3 1 300 4 2 300
说明:- /api/user 在索引 0-1 连续出现2次,平均响应时间:(100+200)/2 = 150 - /api/order 在索引 2 单独出现1次,响应时间:150 - /api/user 在索引 3 单独出现1次(与前面的 /api/order 分隔),响应时间:300 - /api/order 在索引 4-5 连续出现2次,平均响应时间:(250+350)/2 = 300
示例 2
输入
4 /api/login /api/login /api/login /api/login 50 60 70 80
输出
0 4 65
说明:边界情况 - 全部相同。所有API均为 /api/login,连续出现4次,平均响应时间:(50+60+70+80)/4 = 65
示例 3
输入
3 /api/a /api/b /api/c 100 200 300
输出
0 1 100 1 1 200 2 1 300
说明:边界情况 - 全部不同。每个API路径单独成组。
时间限制 1000 ms · 内存限制 128 MB