LINQ: 数据流分析——基于滑动窗口的分组与过滤
C#
Hard
LINQ
任务 «LINQ: 数据流分析——基于滑动窗口的分组与过滤»
编写一个C#程序,读取一个整数序列(至少10个)。使用LINQ进行分析:按值对数字进行分组,仅保留元素数量大于1的组。然后,对于每个这样的组,计算滑动窗口大小为3的所有元素的算术平均值(即,在原始序列中每三个连续元素组成的三元组中,至少有一个元素属于该组)。如果窗口包含至少一个该组的元素,则将其平均值添加到结果中。输出按降序排序的平均值,精确到小数点后两位。如果没有符合条件的窗口,则输出"No data"。
输入格式
在第一行输入一个整数 N (10 ≤ N ≤ 1000)。接下来有 N 行,每行包含一个整数。
输出格式
<p>一个由空格分隔的数字字符串,每个数字保留两位小数,按降序排列。或者输出 "No data"。</p>
示例
示例 1
输入
12
1
2
2
3
4
4
5
6
6
7
8
8
输出
7.67 7.00 6.33 5.67 5.00 4.33 3.67 3.00 2.33 1.67
示例 2
输入
3
1 2 3
输出
No data
main.cs