【发布时间】:2021-08-22 07:31:16
【问题描述】:
我们有抽样数据。每次我们都有不同的采样值:
每个样本是(时间,值) -> 样本列表 [(t1,v1),...(tn,vn)]
我们的工作是实现moving_avg(data, window_sec)。 数据 -> 样本列表 [(t1,v1),...(tn,vn)] Windows_secs -> 以秒为单位的窗口大小
示例输入: 数据 = [(1,2),(2,4),(3,3),(4,2),(6,8),(8,2),(12,1)]
moving_avg(data, 2) 返回: [(1,2),(2,3),(3,3),(4,3),(6,5),(8,5),(12,1)]
moving_avg(data, 3) 返回: [(1,2),(2,3),(3,3),(4,2.75),(6,4.33),(8,5),(12,1)]
如何在 C# 中以最佳时间复杂度实现它?面试官告诉我我不能使用额外的空间(我在字典中的面试中使用过)
【问题讨论】:
标签: c# moving-average