Với hai mảng, cách tìm phần tử tối đa chung cho cả hai mảng là gì?Tìm phần tử tối đa phổ biến trong hai mảng?
Tôi đã suy nghĩ về sắp xếp cả mảng (n log n) và sau đó thực hiện tìm kiếm nhị phân của mọi phần tử từ một mảng được sắp xếp (bắt đầu từ mảng lớn hơn) trong mảng khác cho đến khi kết hợp được tìm thấy.
ví dụ:
a = [1,2,5,4,3]
b = [9,8,3]
Maximum common element in these array is 3
Chúng ta có thể làm tốt hơn so với n log n?
Không phải là nó giúp sự phức tạp tổng thể, nhưng trong bước cuối cùng của bạn là tìm kiếm tuyến tính, với đầu ra khi bạn tìm thấy một giá trị quá nhỏ, có lẽ sẽ nhanh hơn tìm kiếm nhị phân. Mỗi lần bạn có thể khởi động lại từ nơi bạn đã rời khỏi lần trước (không phải từ đầu), bởi vì giá trị bạn đang tìm kiếm nhỏ hơn giá trị cuối cùng bạn tìm kiếm. Vì vậy, tổng thời gian dành cho tìm kiếm là O (kích thước của "mảng khác"), chia không đều giữa các phần tử của "một mảng được sắp xếp". Bạn cũng có thể thực hiện tìm kiếm nội suy và tương tự như vậy. –