Với hai mảng sắp xếp các số nguyên, a
và b
, và một số nguyên c
, tôi phải tìm i,j
ví dụ rằng:gần nhất cặp tiền trong hai mảng được sắp xếp
a[i] + b[j] <= c
và a[i] + b[j]
là lớn càng tốt.
Giải pháp tốt nhất mà tôi có thể nghĩ đến là trong O ( n log n) thời gian, lấy mỗi số nguyên từ mảng đầu tiên và tìm giá thấp hơn ràng buộc của "c-a[i]
".
Bất cứ ai có thể gợi ý cho tôi cách tốt hơn để làm điều này (có thể trong thời gian O ( n))?
cảm ơn bạn đã trả lời. tôi nghĩ rằng tôi đã nhận nó. bắt đầu từ mảng đầu tiên từ "bắt đầu" và trong b từ "kết thúc", nếu (a [i + 1] akash
@akash Tôi nghĩ rằng điều kiện chính xác để di chuyển chỉ mục 'i' và' j' sẽ là: 'if (a [i] + b [j]> c)' di chuyển 'j',' if (a [i] + b [j]