256 개의 초기화된 정수 배열 * 2 (카운터)과 256 * 2의 링키드 리스트(element은 걍 int)를 준비


A 배열의 MSB 쪽 8비트 값을 이용해 카운터 배열에 누적, 각 카운터 배열에 딸린 A 배열용 링키드리스트에 추가

B 배열 역시 마찬가지로 처리


카운터 배열의 0 번 index 부터 돌면서 A, B 리스트의 갯수가 모두 0이 아닌 경우에만 리커젼을 수행 (다시 256개의 초기화된 정수 배열 카운터 2개와 링키드 리스트 장전)

그 다음 8비트를 이용함.


이렇게 해서 4 스텝을 수행하면 동일 위치에 A, B 가 카운팅 된 곳이 원소 공유 최소값.

없으면 리소스를 복귀 하면서 그 윗 단계의 1 번 index 로 재시도.

index 가 다 찼으면 윗 단계의 1번 index 로 재시도


모든게 다 false 면 -1을 리턴.


링키드 리스트를 얼마나 배열로 잘 가공하느냐가 관건.