Một tập lệnh Stack Exchange xác định năm bình luận về câu hỏi hoặc câu trả lời ban đầu được nhìn thấy trên trang chính của các trang web thông qua số lượng upvote trên chúng; năm bình luận có số phiếu bầu cao nhất được hiển thị. Nhiệm vụ của bạn là tái tạo hành vi này.
Viết chương trình hoặc hàm đầy đủ lấy đầu vào thông qua STDIN, đối số dòng lệnh hoặc đối số hàm và in hoặc trả về năm điểm nhận xét hàng đầu. Đầu vào sẽ là một mảng các số nguyên biểu thị số lượng upvote trên các bình luận của một số bài đăng. Chẳng hạn, một đầu vào của
0, 2, 5, 4, 0, 1, 0
có nghĩa là bình luận đầu tiên không có phiếu bầu, bình luận thứ hai có hai phiếu, bình luận thứ ba có năm, bình luận thứ tư có bốn, v.v ... Thứ tự của điểm bình luận nên giữ nguyên trong đầu ra.
Nếu đầu vào chứa năm hoặc ít hơn điểm nhận xét, thì đầu ra sẽ không chứa gì nhiều hơn điểm số được đưa ra. Nếu hai hoặc nhiều điểm nhận xét giống nhau, điểm số đầu tiên sẽ được hiển thị. Bạn có thể giả định rằng mảng đầu vào sẽ chứa ít nhất một điểm nhận xét.
Các số trong đầu ra phải được phân biệt dễ dàng (vì vậy 02541 cho trường hợp 1 không hợp lệ). Mặt khác, không có hạn chế về định dạng đầu ra; các số có thể được phân tách bằng dấu cách hoặc dòng mới hoặc chúng có thể ở định dạng danh sách, v.v.
Các trường hợp thử nghiệm:
[0, 2, 5, 4, 0, 1, 0] -> [0, 2, 5, 4, 1]
[2, 1, 1, 5, 3, 6] -> [2, 1, 5, 3, 6]
[0, 4, 5] -> [0, 4, 5]
[1, 1, 5, 1, 1, 5] -> [1, 1, 5, 1, 5]
[0, 2, 0, 0, 0, 0, 0, 0] -> [0, 2, 0, 0, 0]
[0, 0, 0, 0, 1, 0, 0, 0, 0] -> [0, 0, 0, 0, 1]
[5, 4, 2, 1, 0, 8, 7, 4, 6, 1, 0, 7] -> [5, 8, 7, 6, 7]
[6, 3, 2, 0, 69, 22, 0, 37, 0, 2, 1, 0, 0, 0, 5, 0, 1, 2, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 2] -> [6, 69, 22, 37, 5]
Ví dụ cuối cùng được lấy từ câu hỏi Stack Overflow này .
Nếu có thể, vui lòng cung cấp một liên kết trong bài đăng của bạn, nơi bài nộp của bạn có thể được chạy trực tuyến.
Đây là mã golf, vì vậy mã ngắn nhất tính bằng byte sẽ thắng. Chúc may mắn!