这个挑战已经描述了dropsort。但是,我有点懒,我真的只需要对数组进行比以前更多的排序,就不必一直对它进行排序了。
在“丢弃排序”中,我们将每个元素丢弃的数量要少于之前的任何元素。在“延迟删除排序”中,我们删除的每个元素都小于严格位于其前面的元素。
这是一个例子。考虑以下数组:
8 6 9 9 7 2 3 8 1 3
让我们标记每个元素少于之前的元素。
8 6 9 9 7 2 3 8 1 3
^ ^ ^ ^
注意,既没有3
标记,也没有标记8
。它们都比它们左侧的单个元素大。
完成算法,除去标记的元素,我们得到:
8 9 9 3 8 3
这基本上看起来更加排序。金田 我很懒。
您可能已经推断出,您的任务是实现此算法。
输入是1到9之间的至少1个正整数的数组,因此您也可以使用数字字符串。
这是代码高尔夫球,最少字节获胜!
其他测试用例:
1
1
1 2 3
1 2 3
5 3 1
5
1 2 3 2 1
1 2 3
1 1 1 9 9 9 1 1 1 9 9 9 1 1 1
1 1 1 9 9 9 1 1 9 9 9 1 1
9 9
9 9
5 2 4 2 3
5 4 3