Hợp nhất sắp xếp
Trong thử thách này, bạn sẽ thực hiện chương trình con hợp nhất của sắp xếp hợp nhất. Cụ thể, bạn phải tạo một chức năng hoặc chương trình hoặc động từ hoặc tương tự có hai danh sách, mỗi danh sách được sắp xếp theo thứ tự tăng dần và kết hợp chúng thành một danh sách được sắp xếp theo thứ tự tăng dần. Yêu cầu:
- Thuật toán của bạn phải mất một lượng thời gian tuyến tính bất đối xứng trong kích thước của đầu vào. Hãy ngừng đưa ra giải pháp O (n ^ 2).
- Bạn không được sử dụng bất kỳ chức năng tích hợp nào có khả năng sắp xếp danh sách hoặc hợp nhất danh sách hoặc bất cứ thứ gì tương tự. Theo ý của tác giả.
- Mã sẽ có thể xử lý các yếu tố lặp đi lặp lại.
- Đừng lo lắng về danh sách trống.
Ví dụ:
merge([1],[0,2,3,4])
[0,1,2,3,4]
merge([1,5,10,17,19],[2,5,9,11,13,20])
[1, 2, 5, 5, 9, 10, 11, 13, 17, 19, 20]
Đây là môn đánh gôn , vì vậy có thể đoạn mã ngắn nhất sẽ thắng!
b=a;b=b.length
có thể nhân đôi toàn bộ mảng a
(và kết quả là thời gian O (n ^ 2) nếu được thực thi cho mọi phần tử) hoặc sao chép chỉ tham chiếu đến thời gian của mảng (O (n)). Cái nào được tính?