Hai con trỏMảng
Mô tả
Phòng nhân sự FPT Software vừa tiếp quản một chi nhánh mới tại Đà Nẵng. Hai bên mỗi bên đã chuẩn bị sẵn một danh sách mã nhân sự, mỗi danh sách đều được sắp tăng dần theo mã. Sếp muốn có ngay một danh sách thống nhất duy nhất, cũng theo thứ tự tăng dần, để cập nhật lên hệ thống chung. Một quy tắc quan trọng: nếu một mã xuất hiện ở cả hai chi nhánh — do nhân sự điều chuyển giữa hai nơi — thì trong danh sách cuối chỉ giữ lại đúng một lần. Nhiệm vụ của bạn là viết hàm nhận hai mảng đã sắp và trả về mảng kết quả đã trộn - gộp trùng.
Đầu vào
Hàm nhận hai tham số:
a: mảng số nguyên, mã nhân sự chi nhánh một, sắp tăng dần.b: mảng số nguyên, mã nhân sự chi nhánh hai, sắp tăng dần.
Đầu ra
- Trả về một mảng số nguyên chứa toàn bộ mã từ hai mảng, đã sắp tăng dần và không chứa phần tử trùng lặp.
Ràng buộc
- Độ dài mỗi mảng: 0 ≤ n, m ≤ 10^5.
- Giá trị mã nhân sự: 0 ≤ mã ≤ 10^9.
- Mỗi mảng đầu vào không chứa phần tử trùng lặp nội bộ.
- Yêu cầu thời gian tuyến tính O(n + m) và bộ nhớ phụ O(n + m).
Ví dụ
Ví dụ 1:
- Đầu vào:
a = [101, 104, 108],b = [102, 104, 110] - Đầu ra:
[101, 102, 104, 108, 110] - Giải thích: Mã 104 có ở cả hai chi nhánh nên chỉ giữ lại một lần. Trộn tăng dần được danh sách thống nhất gồm 5 mã.
Ví dụ 2:
- Đầu vào:
a = [5, 6, 7],b = [1, 2, 3] - Đầu ra:
[1, 2, 3, 5, 6, 7] - Giải thích: Toàn bộ mã của chi nhánh b đều nhỏ hơn mã của a, ghép nối tiếp là được danh sách tăng dần.