给定按时间戳递增排序的数组sensor_events,其中每个元素为 [sensor_id, activation_time]。 定义:第i条记录对应的激活持续时间为当前记录时间戳与上一条记录时间戳之差,即 di = activation_time(i) - activation_time(i−1),其中 activation_time(0) 视为实验开始时间0。 该持续时间归属于当前这一条记录的sensor_id。
要求返回两个sensor_id:
假设你正在分析一批传感需记录的数据,这些数据记录了在某个实验或监测过程中各个传感器被激活的时间。这些数据储存在一个二维数组 sensor_events 中。
数组 sensor _events 的每个元素 sensor _evenis[i]=[sensor _id,activation _time],其中 sensor _id 表示传感器的唯一标识符,而 activation _time 表示传感器被激活的时间戳。
数组 sensor _events 已经按照时间戳 activatlon _time 的递增顺序排列。每个传感器的激活持续时间定义为连续两次激活事件的时间差。第一个传感器的激活时间定义为从实验开始(默认为 0 )到第一次传感器被激活的时间差。一个传感器可能有多条激活数据,一个传感器的激活时间并不是固定的,所以有可能同一个传感器既是激活时间最长的,也是激活时间最短的。
你的任务是编写一个函数,返回 2 个传感器的标识符 sensor _id,分别表示激活时间最短的传感器和激活时间最长的传感器,如果有多个传感器的激活时间相同,那么取标识符最小的传感器。
每一行代表数组 sensor _events 的元素 sensor _id 和 acitvation _time,其中 sensor _id 表示传感器的唯一标识符,而 acitvation _time 表示传感器被激活的时间戳。每一行的 sensor _id
和 acitvation _time 用空格隔开,每一行的sensor _id 在 acitvation _time 的前面。
参数范围:
1<=sensor _events.length<=1000
sensorevents[i]=[sensor _id,actwation _time]
1<=sensor _id,activatlon _time<=105
输入保证数组 sensor events 按照 actvaton _time 的动增顾产排序
返回 2 个 sensor _id,分别表示激活时间最短的传感器和激活时间最长的传感器,用空格隔开。激活时间最短的传感器标识符放在激活时间最长的传感器标识符前面。如果有多个传感器的激活时间相同,那么取标识符最小的传感器。
输入
6 2
20 4
7 14
10 16
输出
6 7
说明
sensor _id 为 6 的传感器的激活时间是 2 。
sensor _id为 20 的传感器的激活时间是 4−2=2 。
sensor _id为 7 的传感器的激活时间是 14−4=10 。
sensor _id为 10 的传感器的激活时间是 16−14=2 。
最终,sensor _id 为 6、20、10 的激活时间相同,都是 2 ,但 6<10<20 ,6 最小,所以取 sensor _id 为 6 的传感器作为激活时间最短的传感器,sensor _id 为 7 的传感器的激活时间最长,输出 6 7
输入
9 6
2 7
9 9
10 12
输出
2 9
说明
sensor _id 为 9 的传感器的激活时间是 6 。
sensor _id为 2 的传感器的激活时间是 7−6=1 。
sensor _id为 9 的传感器的激活时间是 9−7=2 。
sensor _id为 10 的传感器的激活时间是 12−9=3 。
最终,sensor _id 为 2 的激活时间为 1 ,sensor _id 为 9 的传感器的激活时间有 2 和 6 ,sensor _id 为 10 的传感器的激活时间有 3 ,所有 sensor _id 为 2 的传感器有最短的激活时间 1 ,sensor _id 为 9 的传感器有最长的激活时间 6 ,输出为 2 9