Esse desafio já descreve o dropsort. No entanto, sou meio preguiçoso e realmente só preciso que minha matriz seja um pouco mais ordenada do que antes, não precisa ser ordenada completamente .
No Drop Sort, eliminamos cada elemento menos que qualquer elemento anterior a ele. No Lazy Drop Sort, eliminamos todos os elementos menos do que o estritamente anterior .
Aqui está um exemplo. Considere a seguinte matriz:
8 6 9 9 7 2 3 8 1 3
Vamos marcar cada elemento menor que o anterior.
8 6 9 9 7 2 3 8 1 3
^ ^ ^ ^
Observe como nem 3
foi marcado nem o último 8
. Eles são todos maiores que o elemento único à esquerda deles.
Completando o algoritmo, removendo os elementos marcados, obtemos:
8 9 9 3 8 3
Isso basicamente parece mais organizado. Meio. Sou preguiçosa.
Sua tarefa, como você já deve ter deduzido, é implementar esse algoritmo.
A entrada é uma matriz de pelo menos 1 número inteiro positivo entre 1 e 9, para que você também possa pegar uma sequência de dígitos.
Isso é código-golfe , o menor número de bytes vence!
Casos de teste adicionais:
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