Thử thách
Đưa ra một mảng gồm một số có một chữ số, hãy tìm ra nếu bất kỳ 2 trong số chúng thêm tối đa 10 và in chúng ra
Thí dụ
Đầu vào
(1,2,3,4,5,5,6,7)
Điều này trở lại ((4,6),(5,5),(3,7))
Đầu vào
(1,2,3,4,5)
Điều này trở lại (). vì chỉ có một 5
Đầu vào
(5,5,5,5,5)
Điều này trả về ((5,5),(5,5))vì có số lẻ là 5s và mỗi 5 chỉ có thể được sử dụng một lần
Quy tắc
Đây là các quy tắc!
- Giả sử đầu vào sẽ chỉ là một mảng chưa được sắp xếp của các số nguyên một chữ số dương
- Mỗi số sẽ được ghép nối chỉ một lần, có nghĩa là nếu có ba 5s thì nó chỉ tạo thành 1 cặp (5,5). Nếu có (3,3,7), nó sẽ chỉ tạo thành 1 cặp (3,7)
- Đối với đầu vào: Bạn có thể sử dụng bất kỳ loại dấu ngoặc đơn (hoặc thiếu) miễn là người đọc có thể nói rằng đầu vào là một mảng số duy nhất.
- Đối với đầu ra: Nó phải trông giống như một mảng các cặp. Trường hợp mảng có dạng giống như đầu vào của bạn (Nếu bạn không sử dụng bất kỳ parenhes nào trong đầu vào của mình, bạn phải sử dụng một số loại ký hiệu để bất kỳ độc giả nào cũng có thể biết chúng là một cặp trong một mảng)
Các trường hợp thử nghiệm
(1,2,3,4,5,5,6,7) =((4,6),(5,5),(3,7))
(1,2,3,4,5) = ()
(5,5,5,5,5) = ((5,5),(5,5))
(1,2,3,3,4,5,6,7)=((3,7),(4,6))
(9,8,7,6,4,4,3,1)=((9,1),(7,3),(6,4))
Chúc may mắn!
Các shortercâu trả lời là, thì càng tốt!
Chỉnh sửa 1: cập nhật các quy tắc và Testcase từ các bình luận
Chỉnh sửa 2: cập nhật quy tắc để xác định định dạng của đầu vào.
Chỉnh sửa 3: cập nhật quy tắc để xác định định dạng đầu ra. cố gắng để có sức chứa càng tốt.
(1,2,3,3,4,5,6,7)
1,2,3,4,5,5,6,7?
(5,5)cho trường hợp thử nghiệm cuối cùng?