Mô tả
Tại trung tâm vận hành mạng FPT Telecom, ca trực của kỹ sư được mã hóa bằng số nguyên dương, số càng nhỏ thì ca càng sớm trong ngày. Cuối mỗi tuần, tổ trưởng cần gộp danh sách ca trực của hai nhóm kỹ sư — nhóm Cơ sở hạ tầng và nhóm Hỗ trợ kỹ thuật — thành một lịch chung duy nhất.
Điều may mắn là mỗi nhóm đã tự sắp xếp danh sách ca của mình theo thứ tự tăng dần sẵn rồi. Nhiệm vụ của bạn là trộn hai danh sách đã sắp xếp này thành một danh sách kết quả cũng theo thứ tự tăng dần, mà không cần phải gộp rồi sắp xếp lại từ đầu.
Đầu vào
Hàm nhận hai tham số:
a: mảng số nguyên — danh sách mã ca của nhóm Cơ sở hạ tầng, đã sắp xếp tăng dần.b: mảng số nguyên — danh sách mã ca của nhóm Hỗ trợ kỹ thuật, đã 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 mảng a và b, theo thứ tự tăng dần.
Ràng buộc
- 0 ≤ độ dài mảng
a≤ 10^5 - 0 ≤ độ dài mảng
b≤ 10^5 - Tổng độ dài hai mảng ≤ 10^5
- Mọi mã ca là số nguyên dương, 1 ≤ mã ca ≤ 10^9
- Hai mảng đầu vào đều đã được sắp xếp tăng dần (không giảm).
- Cho phép mã ca trùng nhau giữa hai nhóm.
Ví dụ
Ví dụ 1:
Đầu vào: a = [101, 105, 300], b = [102, 200, 400]
Giải thích từng bước:
- So sánh 101 và 102 → lấy 101 từ a. Kết quả:
[101] - So sánh 105 và 102 → lấy 102 từ b. Kết quả:
[101, 102] - So sánh 105 và 200 → lấy 105 từ a. Kết quả:
[101, 102, 105] - So sánh 300 và 200 → lấy 200 từ b. Kết quả:
[101, 102, 105, 200] - So sánh 300 và 400 → lấy 300 từ a. Kết quả:
[101, 102, 105, 200, 300] - Hết a, lấy phần còn lại của b → thêm 400.
Đầu ra: [101, 102, 105, 200, 300, 400]
Ví dụ 2:
Đầu vào: a = [50, 60], b = [50, 70]
Giải thích: Khi hai mã ca bằng nhau (50 = 50), ta lấy phần tử từ mảng a trước rồi mới đến b, nhằm giữ tính ổn định của phép trộn.
Đầu ra: [50, 50, 60, 70]