Thách thức này đã mô tả giọt nước. Tuy nhiên, tôi hơi lười biếng và tôi thực sự chỉ cần mảng của mình được sắp xếp nhiều hơn một chút so với trước đây, nó không cần phải được sắp xếp theo mọi cách .
Trong Drop Sort, chúng tôi thả mọi phần tử ít hơn bất kỳ phần tử nào trước nó. Trong Lazy Drop Sort, chúng tôi bỏ mọi phần tử ít hơn phần tử trước nó.
Đây là một ví dụ. Hãy xem xét các mảng sau:
8 6 9 9 7 2 3 8 1 3
Hãy đánh dấu mọi yếu tố ít hơn yếu tố trước nó.
8 6 9 9 7 2 3 8 1 3
^ ^ ^ ^
Chú ý cách không 3
được đánh dấu, cũng không phải cuối cùng 8
. Chúng đều lớn hơn phần tử đơn ở bên trái của chúng.
Hoàn thành thuật toán, loại bỏ các yếu tố được đánh dấu, chúng tôi nhận được:
8 9 9 3 8 3
Điều đó về cơ bản trông sắp xếp hơn. Kinda. Tôi lười.
Nhiệm vụ của bạn, như bạn có thể đã suy ra, là thực hiện thuật toán này.
Đầu vào là một mảng có ít nhất 1 số nguyên dương trong khoảng từ 1 đến 9, vì vậy bạn cũng có thể lấy một chuỗi các chữ số.
Đây là mã golf , ít byte thắng nhất!
Các trường hợp kiểm tra bổ sung:
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