이것은 인터뷰 질문 중 하나였습니다. 제가 제대로했는지 궁금 해서요. 내 솔루션이 가장 효율적인 지 알고 싶습니다. O (N 로그 n)이두 개의 가방에서 일치하는 것을 찾습니다.
견과류의 가방과 볼트의 가방을 감안할 때, 각각은 다른 가방에서 크기 만 다른 가방에 정확히 하나의 일치는 모든 일치를 찾을 수있는 빠른 알고리즘을 제공합니다.
항상 2 봉지 사이에 일치하므로 너트의 수가 같고 볼트 수가 같을 것이라고 말했습니다. 숫자를 n
으로합시다.
먼저 각 구성 요소의 무게를 각 구성 요소의 무게로 정렬하고, 모두 가방 내에서 크기가 다르기 때문에 가능합니다. 병합 정렬을 사용하면 O (n log n) 시간 복잡성을 갖게됩니다.
다음으로 가장 가벼운 부분부터 가장 무거운 부분까지 2 개 봉지의 각 구성 요소를 일치시키는 것은 간단합니다.
이것이 올바른 해결책인지, 그리고이 문제를 해결하는 다른 흥미로운 방법이 있는지 알고 싶습니다.
그래, 네가 그것을 못 박은 것처럼 보입니다. – WeaselFox