두 개의 배열이 주어지면 두 배열에 공통적 인 최대 요소를 찾는 방법은 무엇입니까?두 배열에서 공통적 인 최대 요소를 찾으십니까?
두 배열 (n log n)을 정렬 한 다음 일치하는 항목이 발견 될 때까지 다른 배열의 한 정렬 된 배열 (더 큰 배열에서 시작)의 모든 요소에 대한 이진 검색을 수행하려고합니다.
예 :
a = [1,2,5,4,3]
b = [9,8,3]
Maximum common element in these array is 3
우리는 N 로그 n보다 더 잘 할 수 있습니까?
하지,하지만에서 마지막 단계는 너무 작은 값을 찾으면 조기 검색을 사용하여 선형 검색을 수행하는 것이 이진 검색보다 빠를 가능성이 높습니다. 당신이 찾고있는 값이 당신이 찾은 마지막 값보다 작기 때문에 당신이 처음부터 끝내지 않은 지점부터 다시 시작할 수 있습니다. 따라서 검색에 소비되는 총 시간은 O ("다른 배열"의 크기)이며, "하나의 정렬 된 배열"의 요소간에 불균등하게 나눕니다. 보간 검색 등을 수행 할 수도 있습니다. –