Lấy cảm hứng từ một câu hỏi tại Stack Overflow. Tiêu đề ở đây hoàn toàn là lỗi của tôi.
Các thách thức
Đưa ra một danh sách các số nguyên dương chứa ít nhất hai mục nhập, thay thế mỗi số bằng mức tối thiểu của tất cả các mục trừ chính nó.
Các trường hợp thử nghiệm
[4 3 2 5] -> [2 2 3 2]
[4 2 2 5] -> [2 2 2 2]
[6 3 5 5 8] -> [3 5 3 3 3]
[7 1] -> [1 7]
[9 9] -> [9 9]
[9 8 9] -> [8 9 8]
Quy tắc
Về mặt lý thuyết, thuật toán sẽ hoạt động cho mọi kích thước đầu vào (lớn hơn một) và các giá trị (số nguyên dương). Nó được chấp nhận nếu chương trình bị giới hạn bởi thời gian, bộ nhớ hoặc loại dữ liệu và do đó chỉ hoạt động đối với các số có giá trị nhất định hoặc cho kích thước đầu vào lên đến một giá trị nhất định.
Các chương trình hoặc chức năng được cho phép, trong bất kỳ ngôn ngữ lập trình . Sơ hở tiêu chuẩn bị cấm.
Đầu vào có thể được thực hiện bằng bất kỳ phương tiện hợp lý ; và với bất kỳ định dạng. Tương tự cho đầu ra. Định dạng đầu vào và đầu ra có thể khác nhau.
Mã ngắn nhất trong byte thắng.
[4 3 2 2 5]
, đầu ra sẽ là [2 2 2 2 2]
(điều này tương tự như trường hợp thử nghiệm thứ hai)
[4 3 2 2 5]
đầu ra cái gì?