Hai con trỏMảng
Mô tả
Buổi họp liên doanh giữa hai chuỗi siêu thị Co.opmart và VinMart vừa kết thúc. Ban giám đốc muốn tìm ra những mã sản phẩm bán chung ở cả hai chuỗi để triển khai chương trình khuyến mãi liên kết.
Trưởng phòng dữ liệu đã chuẩn bị sẵn hai danh sách mã sản phẩm của mỗi chuỗi, mỗi mã là một số nguyên dương. Đặc biệt, cả hai danh sách đều đã được sắp xếp tăng dần và không chứa mã trùng lặp trong cùng một danh sách. Nhiệm vụ của bạn là tìm tất cả mã xuất hiện ở cả hai danh sách, giữ thứ tự tăng dần.
Đầu vào
- Một mảng số nguyên
a— danh sách mã sản phẩm của Co.opmart. - Một mảng số nguyên
b— danh sách mã sản phẩm của VinMart.
Đầu ra
- Trả về một mảng số nguyên chứa các mã sản phẩm bán chung, theo thứ tự tăng dần. Nếu không có mã chung nào, trả về mảng rỗng.
Ràng buộc
- Mỗi mảng đầu vào đã sắp xếp tăng dần, không có phần tử trùng lặp trong cùng một mảng.
- Độ lớn mảng kết quả .
Ví dụ
Ví dụ 1:
- Đầu vào:
a = [1001, 2003, 5005, 7007, 9009],b = [2003, 4004, 5005, 6006] - Đầu ra:
[2003, 5005]
Giải thích từng bước:
- Đặt con trỏ
iở đầu mảnga(giá trị 1001), con trỏjở đầu mảngb(giá trị 2003). - Vì
1001 < 2003, tiến con trỏisang phải →a[1] = 2003. - Lúc này
a[1] = 2003bằngb[0] = 2003→ ghi nhận mã 2003, tiến cả hai con trỏ. a[2] = 5005lớn hơnb[1] = 4004→ tiếnj.a[2] = 5005bằngb[2] = 5005→ ghi nhận mã 5005, tiến cả hai con trỏ.- Hết mảng
b, dừng. Kết quả:[2003, 5005].
Ví dụ 2:
- Đầu vào:
a = [100, 200, 300],b = [150, 250, 350] - Đầu ra:
[]
Giải thích: Không có mã nào khớp giữa hai danh sách.