Giả sử bạn có kcác mảng kích thước N, mỗi mảng chứa các giá trị duy nhất từ 1đến N.
Làm thế nào bạn tìm thấy hai con số trung bình cách xa nhau nhất?
Ví dụ, đưa ra các mảng:
[1,4,2,3]
[4,2,3,1]
[2,3,4,1]
Sau đó, câu trả lời sẽ là mục 1và 2, bởi vì chúng cách nhau 2 khoảng trong hai mảng đầu tiên và cách nhau 3 số trong số cuối cùng.
Tôi biết một giải pháp O (kN ^ 2) (bằng cách đo khoảng cách giữa mỗi cặp số cho mỗi kmảng), nhưng có giải pháp nào tốt hơn không?
Tôi muốn thực hiện một thuật toán như vậy trong C ++, nhưng bất kỳ mô tả nào về giải pháp đều hữu ích.