给定一个类似于
[15, 14, 12, 3, 10, 4, 2, 1]
的数组,如何确定哪些元素是无序的并将它们删除 (在这种情况下是数字3)。我不想对列表进行排序,而是检测异常值并将其删除。另一个例子是:[13, 12, 4, 9, 8, 6, 7, 3, 2]
。我想要能够删除#4和#7,以便最终得到:[13, 12, 9, 8, 6, 3, 2]
。当你遇到这种情况时,也会出现问题:[15, 13, 12, 7, 10, 5, 4, 3]
。你可以删除7或10来使这个数组排序。通常,我要解决的问题是,给定一组数值读数(有些可能偏差很大),我希望数组只包括遵循总体趋势线的值,并删除任何异常值。我只是想知道是否有一种简单的方法来解决这个问题。
a[i] < a[i + 1]
?(O(n)) - higuaro