Đặt là danh sách các số nguyên dương không có thứ tự cụ thể và có thể chứa các bản sao. Viết chương trình hoặc hàm tạo ra danh sách các số nguyên dương M (có thứ tự không quan trọng) sao cho hợp nhất kết quả L và M vào danh sách nhỏ nhất có thể tách thành các phạm vi số nguyên giống nhau [ 1 .. i ] , trong đó i là yếu tố lớn nhất trong L
Thí dụ
Hãy để L = [5,3,3,2,7]
. Các yếu tố tối đa L
là 7
. Hầu hết các số nguyên cụ thể xảy ra là 2
( 3
xuất hiện 2 lần). Do đó, chúng ta cần xuất danh sách M
sẽ cho phép hoàn thành L
để có thể xây dựng 2
phạm vi số nguyên từ 1
đến 7
.
Do đó, chúng ta cần phải đầu ra M = [1,1,2,4,4,5,6,6,7]
, vì vậy mà mỗi số nguyên từ 1
để 7
xuất hiện 2
lần.
Đầu vào và đầu ra
- Sử dụng bất cứ điều gì trong ngôn ngữ của bạn tương tự như danh sách. Cấu trúc dữ liệu được sử dụng cho đầu vào và đầu ra phải giống nhau.
- Danh sách đầu vào sẽ chỉ chứa các số nguyên dương.
- Danh sách đầu vào sẽ không trống.
- Bạn không thể giả sử danh sách đầu vào được sắp xếp.
- Thứ tự trong danh sách đầu ra là không quan trọng.
Các trường hợp thử nghiệm
Input Output
[1] []
[7] [1, 2, 3, 4, 5, 6]
[1, 1, 1] []
[1, 8] [2, 3, 4, 5, 6, 7]
[3, 3, 3, 3] [1, 1, 1, 1, 2, 2, 2, 2]
[5, 2, 4, 5, 2] [1, 1, 3, 3, 4]
[5, 2, 4, 5, 5] [1, 1, 1, 2, 2, 3, 3, 3, 4, 4]
[5, 3, 3, 2, 7] [1, 1, 2, 4, 4, 5, 6, 6, 7]
Chấm điểm
Đây là môn đánh gôn , vì vậy câu trả lời ngắn nhất bằng byte sẽ thắng.
i
là yếu tố lớn nhất của L
, nó là một lỗi đánh máy trong thông số kỹ thuật.
M=[1,1,2,2,3]
về L=[3]
khi "sáp nhập L và kết quả M trong một danh sách mà hoàn toàn có thể chia thành các dãy giống hệt nhau của các số nguyên [1..i]"?
[1,2]
. Tôi sẽ làm rõ nó để rõ ràng rằng nó sẽ dẫn đến số lượng phạm vi tối thiểu.
i
yếu tố lớn nhất củaL
hayM
?