Được đăng lần đầu (và bị xóa) bởi @Tlink , rất có thể được lấy cảm hứng từ câu hỏi StackOverflow này .
Vì nó là một sự xấu hổ nên nó đã bị xóa, bởi vì nó có vẻ như là một thử thách tốt nói chung, tôi nghĩ rằng tôi đã đăng lại nó với định dạng và quy tắc phù hợp. (Tôi đã cố gắng liên hệ với @Tlink và nhận được ông cho phép / cô ấy để gửi nó, nhưng (s) ông không trả lời nữa, đó là lý do tôi quyết định đăng nó bản thân mình bây giờ.)
Đầu vào: Sáu chữ số.
Đầu ra: Thời gian hợp lệ đầu tiên hoặc cuối cùng ở định dạng 24 giờ ( 00:00:00
thông qua 23:59:59
). (Bạn có thể chọn chính mình cho dù bạn xuất thời gian hợp lệ đầu tiên hoặc cuối cùng.)
Thí dụ:
Khi các đầu vào là 1,8,3,2,6,4
, các lần sau có thể được tạo:
12:36:48 12:38:46 12:46:38 12:48:36
13:26:48 13:28:46 13:46:28 13:48:26
14:26:38 14:28:36 14:36:28 14:38:26
16:23:48 16:24:38 16:28:34 16:28:43
16:32:48 16:34:28 16:38:24 16:38:42
16:42:38 16:43:28 16:48:23 16:48:32
18:23:46 18:24:36 18:26:34 18:26:43
18:32:46 18:34:26 18:36:24 18:36:42
18:42:36 18:43:26 18:46:23 18:46:32
21:36:48 21:38:46 21:46:38 21:48:36
23:16:48 23:48:16
Vì vậy, chúng tôi sẽ xuất 12:36:48
hoặc 23:48:16
trong trường hợp này, lần đầu tiên / cuối cùng.
Quy tắc thử thách:
- Cho biết bạn xuất thời gian hợp lệ đầu tiên hoặc cuối cùng trong câu trả lời của bạn.
- I / O là linh hoạt. Đầu vào có thể là sáu số nguyên riêng biệt; một chuỗi chứa sáu chữ số; một danh sách / mảng số nguyên; một số duy nhất (có thể là bát phân); vv Đầu ra có thể là một danh sách / mảng các chữ số được sắp xếp chính xác; một chuỗi ở định dạng
HH:mm:ss
/HHmmss
/HH mm ss
; mỗi chữ số được in bằng dấu phân cách dòng mới; vv Cuộc gọi của bạn. - Bạn được phép lấy các chữ số theo bất kỳ thứ tự nào bạn muốn, vì vậy chúng có thể được sắp xếp từ thấp nhất đến cao nhất hoặc ngược lại.
- Nếu không có thời gian hợp lệ có thể được tạo bằng các chữ số đã cho (nghĩa là
2,5,5,5,5,5
), hãy làm rõ ràng theo bất kỳ cách nào bạn muốn. Có thể trở lạinull
/false
;"Not possible"
; sự cố với một lỗi; v.v. (Bạn không thể xuất thời gian không hợp lệ như55:55:52
hoặc thời gian hợp lệ khác như00:00:00
.) Vui lòng cho biết cách xử lý các đầu vào mà không có thời gian hợp lệ nào có thể được tạo. - Bạn không được phép xuất tất cả các lần hợp lệ có thể. Chỉ sớm nhất / muộn nhất nên được xuất / trả lại.
24
trong nhiều giờ (tức là24:00:00
) hoặc60
trong vài phút / giây (tức là00:60:60
) không hợp lệ. Các phạm vi là[00-23]
trong nhiều giờ và[00-59]
trong vài phút và giây.
Quy tắc chung:
- Đây là môn đánh gôn , vì vậy câu trả lời ngắn nhất bằng byte thắng.
Đừng để ngôn ngữ mã-golf ngăn cản bạn đăng câu trả lời với các ngôn ngữ không mã hóa. Cố gắng đưa ra một câu trả lời càng ngắn càng tốt cho ngôn ngữ lập trình 'bất kỳ'. - Các quy tắc chuẩn áp dụng cho câu trả lời của bạn, vì vậy bạn được phép sử dụng STDIN / STDOUT, các hàm / phương thức với các tham số thích hợp và kiểu trả về, các chương trình đầy đủ. Cuộc gọi của bạn.
- Lỗ hổng mặc định bị cấm.
- Nếu có thể, vui lòng thêm một liên kết với một bài kiểm tra cho mã của bạn.
- Ngoài ra, xin vui lòng thêm một lời giải thích nếu cần thiết.
Các trường hợp thử nghiệm:
Input: Earliest output: Latest output:
1,2,3,4,6,8 12:36:48 23:48:16
2,5,5,5,5,5 None possible None possible
0,0,0,1,1,1 00:01:11 11:10:00
1,1,2,2,3,3 11:22:33 23:32:11
9,9,9,9,9,9 None possible None possible
2,3,5,5,9,9 23:59:59 23:59:59
1,2,3,4,5,6 12:34:56 23:56:41
0,0,0,0,0,0 00:00:00 00:00:00
1,5,5,8,8,8 18:58:58 18:58:58
1,5,5,5,8,8 15:58:58 18:58:55
1,1,1,8,8,8 18:18:18 18:18:18
06:08:60
hợp lệ, cho rằng đã có một bước nhảy vọt trong phút đó?
60
trong vài phút và giây không hợp lệ. Phạm vi là [00-23]
, [00-59]
, và [00-59]
. Sẽ làm rõ điều này trong thử thách.
23:48:16
một đầu ra hợp lệ cho ví dụ?