Mô tả
Tại trung tâm dữ liệu VNGCloud, mỗi giây có hàng nghìn lượt gọi API đổ về hai cụm máy chủ chính. Mỗi lượt gọi được máy chủ ghi lại một dòng log kèm nhãn thời gian tính bằng mili giây. Vì hai cụm hoạt động độc lập nên log của chúng tách thành hai luồng riêng, mỗi luồng đã được sắp sẵn theo thời gian tăng dần.
Bạn là kỹ sư vận hành phụ trách giám sát truy cập. Để theo dõi luồng sự kiện xuyên suốt, bạn cần trộn hai luồng log này thành một danh sách duy nhất sao cho các dòng log vẫn xuất hiện theo đúng thứ tự thời gian tăng dần. Nếu một dòng ở luồng thứ nhất và một dòng ở luồng thứ hai mang cùng nhãn thời gian, dòng thuộc luồng thứ nhất được ưu tiên ra trước.
Đầu vào
a: mảng số nguyên biểu diễn nhãn thời gian (mili giây) của luồng log thứ nhất, đã sắp xếp tăng dần.b: mảng số nguyên biểu diễn nhãn thời gian của luồng log thứ hai, cũng đã sắp xếp tăng dần.
Đầu ra
- Trả về một mảng số nguyên là kết quả trộn hai luồng theo thứ tự thời gian tăng dần, đúng quy tắc ưu tiên nêu trên.
Ràng buộc
- .
- .
- Mỗi luồng đã cho trước được sắp tăng không giảm.
Ví dụ
Ví dụ 1
- Đầu vào:
a = [100, 200, 500],b = [150, 300] - Đầu ra:
[100, 150, 200, 300, 500]
Giải thích từng bước:
- So sánh 100 và 150: lấy 100 từ luồng
a. - So sánh 200 và 150: lấy 150 từ luồng
b. - So sánh 200 và 300: lấy 200 từ
a. - Luồng
acòn 500, luồngbcòn 300: lấy 300. - Còn lại 500: đưa vào kết quả.
Ví dụ 2
- Đầu vào:
a = [50, 50, 80],b = [50, 90] - Đầu ra:
[50, 50, 50, 80, 90]
Giải thích: ba giá trị 50 trong đó hai giá trị thuộc a ra trước theo quy tắc ưu tiên, sau đó 50 thuộc b, rồi 80 và 90.