Tôi đang cố gắng thực hiện thuật toán lấy hai mảng, S và T của n số nguyên và k. Thuật toán kiểm tra xem các mảng có số nguyên s và t vì vậy s + t = k. (S trong S và t trong T.) Thuật toán được cho là có thời gian chạy của O (n log n).Thuật toán kiểm tra xem trong mảng S và T là số nguyên s và t sao cho s + t = k nếu k được cho số
Đã cố gắng nghĩ về thứ gì đó sắp xếp mảng T và sử dụng cho vòng lặp đi qua S và sử dụng tìm kiếm nhị phân để xem tôi có tìm số nguyên như k - S [i] cho mọi phần tử trong S. Nhưng điều đó sẽ luôn có thời gian chạy lớn hơn n log n, tôi nghĩ vậy.
Không tìm kiếm ai đó để viết mã. Chỉ yêu cầu ở đây để có được một số ý tưởng.
Cảm ơn tất cả các bạn đã có câu trả lời hay. – krunarsson
Nếu các số nguyên trong S và T bị giới hạn trong một phạm vi kích thước m, bạn có thể tạo ra một thuật toán O (n) với độ phức tạp không gian O (m). – danr